@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Sarabun:wght@400;500;600;700;800&display=swap";:root{--accent:#2563eb;--accent-light:#3b82f6;--accent-dark:#1d4ed8;--navy:#0b1a33;--navy-light:#132744;--ink:#0f172a;--muted:#64748b;--surface:#f8fafc;--white:#fff;--border:#e2e8f0;--success:#10b981;--success-light:#34d399;--danger:#ef4444;--warning:#f59e0b;--info:#3b82f6;--purple:#8b5cf6;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow:0 4px 15px #00000014, 0 2px 6px #0000000a;--shadow-lg:0 15px 40px #0000001f, 0 5px 15px #0000000f;--shadow-accent:0 8px 25px #2563eb40;--shadow-success:0 8px 25px #10b98140;--radius:18px;--radius-sm:14px;--radius-xs:10px;--gradient-orange:linear-gradient(135deg, #60a5fa 0%, #2563eb 50%, #1d4ed8 100%);--gradient-green:linear-gradient(135deg, #34d399 0%, #10b981 50%, #059669 100%);--gradient-blue:linear-gradient(135deg, #60a5fa 0%, #3b82f6 50%, #2563eb 100%);--gradient-purple:linear-gradient(135deg, #a78bfa 0%, #8b5cf6 50%, #7c3aed 100%);--gradient-pink:linear-gradient(135deg, #f472b6 0%, #ec4899 50%, #db2777 100%);--gradient-yellow:linear-gradient(135deg, #fbbf24 0%, #f59e0b 50%, #d97706 100%);--gradient-surface:linear-gradient(180deg, #fff 0%, #f8fafc 50%, #f1f5f9 100%)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{color:var(--ink);background:var(--gradient-surface);overscroll-behavior:none;min-height:100dvh;font-family:Inter,Sarabun,-apple-system,BlinkMacSystemFont,sans-serif;font-size:16px;line-height:1.5}#app{min-height:100dvh}.app{background:var(--gradient-surface);flex-direction:column;min-height:100dvh;display:flex;position:relative}.app:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(circle at 20% 30%,#2563eb08 0%,#0000 50%),radial-gradient(circle at 80% 70%,#2563eb08 0%,#0000 50%);position:fixed;inset:0}.app.is-line{padding-top:var(--safe-top)}.header{z-index:100;-webkit-backdrop-filter:blur(20px);background:#ffffffd9;border-bottom:1px solid #e5e7eb99;align-items:center;gap:12px;padding:14px 16px;display:flex;position:sticky;top:0;box-shadow:0 2px 20px #0000000a}.is-line .header{padding-top:calc(14px + var(--safe-top))}.back-btn{border-radius:var(--radius-xs);width:42px;height:42px;color:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent;background:linear-gradient(145deg,#f8fafc 0%,#e2e8f0 100%);border:none;justify-content:center;align-items:center;transition:all .2s;display:flex;box-shadow:0 2px 8px #0000000f,inset 0 1px 2px #fffc}.back-btn:active{background:linear-gradient(145deg,#e2e8f0 0%,#cbd5e1 100%);transform:scale(.95)}.header-title{flex:1;align-items:center;gap:10px;display:flex}.header-title h1{color:var(--navy,#0b1a33);letter-spacing:-.01em;font-size:1.1rem;font-weight:700}.line-badge{color:#fff;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#00c300 0%,#00b900 100%);border-radius:6px;padding:3px 8px;font-size:.65rem;font-weight:700;box-shadow:0 2px 8px #00b9004d}.queue-btn{border-radius:var(--radius-sm);color:var(--ink);cursor:pointer;box-shadow:var(--shadow-sm);background:linear-gradient(145deg,#fff 0%,#f8fafc 100%);border:1px solid #e5e7ebcc;align-items:center;gap:8px;padding:10px 14px;font-family:inherit;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.queue-btn:active{box-shadow:none;transform:scale(.97)}.queue-count{background:var(--gradient-orange);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.75rem;font-weight:700;animation:2s infinite pulse;display:flex;box-shadow:0 2px 8px #e85d0459}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.user-profile-badge{cursor:pointer;flex-shrink:0;margin-left:8px}.user-avatar{object-fit:cover;border:2px solid #e5e7eb;border-radius:50%;width:34px;height:34px;transition:border-color .2s}.user-avatar:hover{border-color:var(--accent,#e85d04)}.user-avatar-placeholder{background:var(--gradient-orange);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:.85rem;font-weight:700;display:flex}.profile-menu-overlay{z-index:200;background:#00000040;position:fixed;inset:0}.profile-menu{border-radius:var(--radius-md,12px);background:#fff;min-width:220px;animation:.15s slideDown;position:absolute;top:60px;right:12px;overflow:hidden;box-shadow:0 8px 32px #00000026}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.profile-menu-header{border-bottom:1px solid #f1f5f9;align-items:center;gap:12px;padding:16px;display:flex}.profile-menu-avatar{object-fit:cover;border-radius:50%;width:42px;height:42px}.profile-menu-name{color:#1e293b;font-size:.95rem;font-weight:700}.profile-menu-phone{color:#94a3b8;margin-top:2px;font-size:.8rem}.profile-menu-item{text-align:left;color:#334155;cursor:pointer;background:0 0;border:none;width:100%;padding:12px 16px;font-family:inherit;font-size:.9rem;transition:background .15s;display:block}.profile-menu-item:hover{background:#f8fafc}.profile-menu-item.logout-btn{color:#ef4444;border-top:1px solid #f1f5f9}.auth-overlay{z-index:300;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffeb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.auth-loading-card{text-align:center;padding:32px}.auth-loading-card p{color:#475569;margin-top:16px;font-size:.95rem;font-weight:500}.auth-spinner{border:3px solid #e5e7eb;border-top-color:#00c300;border-radius:50%;width:40px;height:40px;margin:0 auto;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.progress{-webkit-backdrop-filter:blur(10px);background:linear-gradient(#ffffffe6 0%,#f8fafce6 100%);justify-content:center;align-items:center;gap:0;padding:18px 20px;display:flex}.progress-step{opacity:.4;flex-direction:column;align-items:center;gap:6px;transition:all .3s;display:flex}.progress-step.active{opacity:1}.progress-step span{width:32px;height:32px;color:var(--muted);background:linear-gradient(145deg,#e2e8f0 0%,#cbd5e1 100%);border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;transition:all .3s;display:flex;box-shadow:inset 0 1px 2px #fffc,0 2px 4px #0000000f}.progress-step.active span{background:var(--gradient-orange);color:#fff;transform:scale(1.1);box-shadow:0 4px 12px #e85d0459}.progress-step.done span{background:var(--gradient-green);color:#fff;box-shadow:0 4px 12px #10b98159}.progress-step small{color:var(--muted);font-size:.7rem;font-weight:500}.progress-step.active small{color:var(--accent);font-weight:600}.progress-line{background:linear-gradient(90deg,#e2e8f0 0%,#cbd5e1 100%);border-radius:2px;width:36px;height:3px;margin:0 6px 20px;transition:all .3s}.progress-line.done{background:var(--gradient-green);box-shadow:0 2px 8px #10b9814d}.content{padding:18px 16px;padding-bottom:calc(18px + var(--safe-bottom));z-index:1;flex:1;position:relative}.section-title{color:var(--navy,#0b1a33);letter-spacing:-.01em;align-items:center;gap:8px;margin-bottom:14px;font-size:1rem;font-weight:700;display:flex}.section-title:before{content:"";background:var(--accent);border-radius:2px;width:4px;height:20px}.business-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.business-card{border-radius:var(--radius);cursor:pointer;-webkit-tap-highlight-color:transparent;background:linear-gradient(145deg,#fff 0%,#f8fafc 100%);border:1px solid #e5e7eb99;flex-direction:column;align-items:center;gap:10px;padding:22px 16px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000000a,inset 0 1px 2px #fffc}.business-card:before{content:"";background:var(--card-accent,var(--gradient-orange));opacity:0;height:4px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.business-card:active{border-color:var(--card-accent,var(--accent));box-shadow:0 4px 16px #0000001a, 0 0 0 3px color-mix(in srgb, var(--card-accent,var(--accent)) 15%, transparent);transform:scale(.97)}.business-card:active:before{opacity:1}.business-icon{filter:drop-shadow(0 2px 4px #0000001a);font-size:2.25rem;transition:transform .3s}.business-card:active .business-icon{transform:scale(1.1)}.business-name{color:var(--ink);text-align:center;font-size:.95rem;font-weight:600}.business-subtitle{color:var(--muted);text-align:center;font-size:.75rem}.selected-business{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 12%, white) 0%, color-mix(in srgb, var(--accent) 8%, white) 100%);border:1px solid color-mix(in srgb, var(--accent) 20%, transparent);border-radius:var(--radius-sm);color:var(--accent);align-items:center;gap:10px;margin-bottom:18px;padding:10px 16px;font-size:.9rem;font-weight:600;display:inline-flex;box-shadow:0 2px 8px #e85d041a}.selected-icon{filter:drop-shadow(0 2px 3px #0000001a);font-size:1.3rem}.company-search{margin-bottom:18px}.company-search-input{border-radius:var(--radius);width:100%;color:var(--ink);background:linear-gradient(145deg,#fff 0%,#fafbfc 100%);border:1px solid #e5e7ebcc;padding:14px 18px;font-family:inherit;font-size:.95rem;transition:all .2s;box-shadow:inset 0 1px 3px #0000000a}.company-search-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 4px #e85d041a,inset 0 1px 3px #0000000a}.company-search-input::placeholder{color:#a1a1aa}.company-count-info{text-align:center;color:var(--muted);margin-top:14px;font-size:.825rem;font-weight:500}.company-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.company-card{border-radius:var(--radius);cursor:pointer;-webkit-tap-highlight-color:transparent;background:linear-gradient(#fff 0%,#fafbfc 100%);border:1px solid #e5e7ebb3;flex-direction:column;align-items:center;gap:14px;padding:22px 14px 20px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000000a,0 4px 14px #00000008}.company-card:before{content:"";opacity:0;background:linear-gradient(135deg,#0000 40%,#ffffffe6 100%);transition:opacity .3s;position:absolute;inset:0}.company-card:after{content:"";background:var(--gradient-orange);height:3px;transition:transform .3s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.company-card:active{border-color:var(--accent);box-shadow:0 4px 16px #0000001a, 0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent);background:linear-gradient(180deg, #fff 0%, color-mix(in srgb, var(--accent) 3%, white) 100%);transform:scale(.97)}.company-card:active:before{opacity:1}.company-card:active:after{transform:scaleX(1)}.company-logo{border-radius:var(--radius);background:var(--bg);justify-content:center;align-items:center;width:68px;height:68px;transition:transform .3s;display:flex;overflow:hidden;box-shadow:0 3px 10px #00000014,inset 0 1px 2px #fffc}.company-card:active .company-logo{transform:scale(1.05)}.company-logo img{object-fit:cover;width:100%;height:100%}.company-icon{border-radius:var(--radius);color:#6366f1;background:linear-gradient(145deg,#e0e7ff 0%,#c7d2fe 100%);justify-content:center;align-items:center;width:100%;height:100%;font-size:1.75rem;font-weight:600;display:flex;position:relative}.company-icon:after{content:"";border-radius:var(--radius);pointer-events:none;background:linear-gradient(135deg,#ffffff80 0%,#0000 50%);position:absolute;inset:0}.company-initial{letter-spacing:-.5px;text-shadow:0 1px 2px #00000014;font-family:Kanit,Sarabun,system-ui,sans-serif;font-size:1.6rem;font-weight:700}.company-card:nth-child(6n+1) .company-initial{color:#1d4ed8;background:linear-gradient(145deg,#dbeafe 0%,#93c5fd 100%)}.company-card:nth-child(6n+2) .company-initial{color:#047857;background:linear-gradient(145deg,#d1fae5 0%,#6ee7b7 100%)}.company-card:nth-child(6n+3) .company-initial{color:#b45309;background:linear-gradient(145deg,#fef3c7 0%,#fcd34d 100%)}.company-card:nth-child(6n+4) .company-initial{color:#be185d;background:linear-gradient(145deg,#fce7f3 0%,#f9a8d4 100%)}.company-card:nth-child(6n+5) .company-initial{color:#4338ca;background:linear-gradient(145deg,#e0e7ff 0%,#a5b4fc 100%)}.company-card:nth-child(6n+6) .company-initial{color:#c2410c;background:linear-gradient(145deg,#fed7aa 0%,#fdba74 100%)}.company-name{color:var(--ink);text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;font-size:.9375rem;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.site-grid{flex-direction:column;gap:12px;display:flex}.site-card{border-radius:var(--radius);cursor:pointer;-webkit-tap-highlight-color:transparent;background:linear-gradient(145deg,#fff 0%,#fafbfc 100%);border:1px solid #e5e7ebb3;align-items:center;gap:14px;padding:16px 18px;transition:all .25s;display:flex;box-shadow:0 2px 6px #0000000a}.site-card:active{border-color:var(--accent);background:linear-gradient(145deg, #fff 0%, color-mix(in srgb, var(--accent) 4%, white) 100%);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent);transform:scale(.98)}.site-icon{border-radius:var(--radius-sm);background:linear-gradient(145deg,#fef3c7 0%,#fde68a 100%);justify-content:center;align-items:center;width:48px;height:48px;font-size:1.6rem;display:flex;box-shadow:0 2px 6px #f59e0b33}.site-info{flex-direction:column;flex:1;gap:3px;display:flex}.site-name{color:var(--ink);font-size:.95rem;font-weight:600}.site-address{color:var(--muted);font-size:.8rem}.selected-company,.selected-company-site{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 12%, white) 0%, color-mix(in srgb, var(--accent) 8%, white) 100%);border:1px solid color-mix(in srgb, var(--accent) 20%, transparent);border-radius:var(--radius-sm);color:var(--accent);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;padding:10px 16px;font-size:.9rem;font-weight:600;display:inline-flex;box-shadow:0 2px 8px #e85d041a}.selected-site-tag{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 25%, white) 0%, color-mix(in srgb, var(--accent) 18%, white) 100%);border-radius:6px;padding:4px 10px;font-size:.8rem;font-weight:600}.service-list{flex-direction:column;gap:12px;display:flex}.service-card{border-radius:var(--radius);cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;background:linear-gradient(145deg,#fff 0%,#fafbfc 100%);border:1px solid #e5e7ebb3;align-items:center;gap:14px;padding:18px 16px;transition:all .25s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 6px #0000000a}.service-card:before{content:"";background:var(--gradient-blue);opacity:0;width:4px;transition:opacity .3s;position:absolute;top:0;bottom:0;left:0}.service-card:active{border-color:var(--info);background:linear-gradient(145deg,#f8fafc 0%,#f1f5f9 100%);box-shadow:0 4px 12px #3b82f61f}.service-card:active:before{opacity:1}.service-icon{border-radius:var(--radius-sm);background:linear-gradient(145deg,#dbeafe 0%,#bfdbfe 100%);justify-content:center;align-items:center;width:50px;height:50px;font-size:1.6rem;transition:transform .3s;display:flex;box-shadow:0 2px 6px #3b82f626}.service-card:active .service-icon{transform:scale(1.08)}.service-info{flex-direction:column;flex:1;gap:4px;display:flex}.service-name{color:var(--ink);font-size:.95rem;font-weight:600}.service-duration{color:var(--muted);font-size:.825rem}.service-wait-info{color:var(--muted);align-items:center;gap:10px;font-size:.825rem;display:flex}.wait-badge{color:#dc2626;background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);border-radius:12px;align-items:center;padding:3px 10px;font-size:.75rem;font-weight:600;display:inline-flex;box-shadow:0 1px 4px #dc262626}.wait-time{color:var(--muted);font-weight:500}.chevron{color:#cbd5e1;transition:transform .2s,color .2s}.service-card:active .chevron{color:var(--info);transform:translate(4px)}.selected-summary{border-radius:var(--radius);background:linear-gradient(145deg,#fff 0%,#f8fafc 100%);border:1px solid #e5e7ebb3;align-items:center;gap:14px;margin-bottom:22px;padding:16px;display:flex;box-shadow:0 2px 8px #0000000a}.selected-summary .selected-icon{background:linear-gradient(145deg, color-mix(in srgb, var(--accent) 15%, white) 0%, color-mix(in srgb, var(--accent) 8%, white) 100%);border-radius:var(--radius-sm);justify-content:center;align-items:center;width:56px;height:56px;font-size:2rem;display:flex;box-shadow:0 2px 8px #e85d041f}.selected-summary div{flex-direction:column;gap:4px;display:flex}.selected-summary strong{color:var(--ink);font-size:1rem;font-weight:700}.selected-summary span{color:var(--muted);font-size:.85rem;font-weight:500}.booking-form{flex-direction:column;gap:18px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:var(--ink);align-items:center;gap:4px;font-size:.9rem;font-weight:600;display:flex}.form-group label small{color:var(--muted);font-size:.8rem;font-weight:500}.form-group input,.form-group textarea{width:100%;color:var(--ink);border-radius:var(--radius-sm);-webkit-appearance:none;background:linear-gradient(145deg,#fff 0%,#fafbfc 100%);border:1px solid #e5e7ebcc;padding:15px 18px;font-family:inherit;font-size:16px;transition:all .25s;box-shadow:inset 0 1px 3px #0000000a}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent);background:#fff;outline:none;box-shadow:0 0 0 4px #e85d041a,inset 0 1px 3px #0000000a}.form-group input::placeholder,.form-group textarea::placeholder{color:#a1a1aa}.form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.date-display{border-radius:var(--radius-sm);color:var(--ink);background:linear-gradient(145deg,#f0fdf4 0%,#ecfdf5 100%);border:1px solid #10b98133;padding:14px 16px;font-size:.95rem;font-weight:600}.time-slots-grid{flex-wrap:wrap;gap:8px;display:flex}.time-slot-btn{border:2px solid var(--border);border-radius:var(--radius-xs);background:var(--white);min-width:72px;color:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent;padding:10px 16px;font-size:.9rem;font-weight:600;transition:all .2s}.time-slot-btn.active{background:var(--accent);border-color:var(--accent);color:#fff;transform:scale(1.05);box-shadow:0 2px 8px #e85d044d}.time-slot-btn:not(.active):active{background:var(--surface);transform:scale(.95)}.no-slots-msg{color:var(--muted);text-align:center;width:100%;padding:12px;font-size:.85rem}.time-free-select{flex-direction:column;gap:4px;display:flex}.time-free-select input[type=time]{border-radius:var(--radius-sm);background:linear-gradient(145deg,#fff 0%,#f8fafc 100%);border:1px solid #e5e7ebcc;padding:14px 16px;font-family:inherit;font-size:1rem}.time-hint{color:var(--muted);font-size:.75rem}.submit-btn{border-radius:var(--radius);background:var(--gradient-orange);color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;text-shadow:0 1px 2px #00000026;border:none;width:100%;margin-top:10px;padding:18px 28px;font-family:inherit;font-size:1.05rem;font-weight:700;transition:all .25s;position:relative;overflow:hidden;box-shadow:0 6px 20px #e85d0459,0 3px 6px #e85d0433}.submit-btn:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.submit-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 3px 10px #e85d044d,0 1px 3px #e85d0433}.submit-btn:active:not(:disabled):before{left:100%}.submit-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.success-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding-top:20px;display:flex}.success-card{width:100%;max-width:380px}.success-icon{background:var(--gradient-green);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:76px;height:76px;margin:0 auto 18px;font-size:2.25rem;animation:.5s successPop;display:flex;box-shadow:0 8px 25px #10b98159}@keyframes successPop{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.success-card h2{background:linear-gradient(135deg,#1e293b 0%,#334155 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:22px;font-size:1.35rem;font-weight:700}.queue-ticket{border-radius:var(--radius);background:linear-gradient(#fff 0%,#fafbfc 100%);border:1px solid #e5e7ebb3;position:relative;overflow:hidden;box-shadow:0 4px 20px #00000014,0 2px 8px #0000000a}.queue-ticket:before{content:"";background:var(--gradient-green);height:5px;position:absolute;top:0;left:0;right:0}.ticket-header{color:var(--muted);background:linear-gradient(#f8fafc 0%,#f1f5f9 100%);border-bottom:1px dashed #cbd5e1cc;padding:16px 18px;font-size:.9rem;font-weight:600}.ticket-number{background:linear-gradient(135deg, var(--accent) 0%, #ff7b2e 100%);-webkit-text-fill-color:transparent;letter-spacing:.08em;text-shadow:none;filter:drop-shadow(0 2px 4px #e85d0433);-webkit-background-clip:text;background-clip:text;padding:24px 20px;font-size:2.5rem;font-weight:800}.ticket-service{color:var(--ink);padding:4px 20px 20px;font-size:1.05rem;font-weight:600}.ticket-details{background:linear-gradient(#f8fafc 0%,#f1f5f9 100%);border-top:1px dashed #cbd5e1cc;padding:14px 18px}.ticket-row{color:var(--muted);justify-content:space-between;font-size:.85rem;font-weight:500;display:flex}.ticket-row+.ticket-row{margin-top:8px}.ticket-wait{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 10%, white) 0%, color-mix(in srgb, var(--accent) 6%, white) 100%);color:var(--accent);text-align:center;border-top:1px solid color-mix(in srgb, var(--accent) 15%, transparent);padding:16px 18px;font-size:.95rem;font-weight:600}.ticket-wait strong{font-size:1.1rem;font-weight:800}.success-actions{flex-direction:column;gap:12px;width:100%;margin-top:26px;display:flex}.action-btn{border-radius:var(--radius);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;justify-content:center;align-items:center;gap:10px;padding:16px 22px;font-family:inherit;font-size:.95rem;font-weight:600;transition:all .25s;display:flex}.action-btn.share{color:#fff;background:linear-gradient(135deg,#00c300 0%,#00b900 50%,#090 100%);box-shadow:0 6px 20px #00b9004d,0 3px 6px #00b90033}.action-btn.share:active{transform:translateY(2px);box-shadow:0 3px 10px #00b90040}.action-btn.new{color:var(--ink);background:linear-gradient(145deg,#f8fafc 0%,#f1f5f9 100%);border:1px solid #e5e7ebcc;box-shadow:0 2px 8px #0000000a}.action-btn.new:active{background:linear-gradient(145deg,#f1f5f9 0%,#e2e8f0 100%);transform:translateY(1px)}.sheet-backdrop{-webkit-backdrop-filter:blur(4px);z-index:200;background:#00000080;animation:.25s fadeIn;position:fixed;inset:0}.queue-sheet{z-index:201;border-radius:var(--radius) var(--radius) 0 0;max-height:75vh;padding-bottom:var(--safe-bottom);background:linear-gradient(#fff 0%,#f8fafc 100%);flex-direction:column;animation:.35s cubic-bezier(.4,0,.2,1) slideUp;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 40px #00000026}.sheet-header{background:#fffffff2;border-bottom:1px solid #e5e7ebb3;justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.sheet-header h3{color:var(--ink);font-size:1.1rem;font-weight:700}.close-btn{border-radius:var(--radius-xs);width:36px;height:36px;color:var(--muted);cursor:pointer;background:linear-gradient(145deg,#f1f5f9 0%,#e2e8f0 100%);border:none;justify-content:center;align-items:center;font-size:1.4rem;transition:all .2s;display:flex;box-shadow:0 2px 6px #0000000f}.close-btn:active{background:linear-gradient(145deg,#e2e8f0 0%,#cbd5e1 100%);transform:scale(.95)}.sheet-content{-webkit-overflow-scrolling:touch;flex:1;padding:18px;overflow-y:auto}.empty-queue{text-align:center;color:var(--muted);padding:50px 20px;font-size:.95rem}.queue-items{flex-direction:column;gap:14px;display:flex}.queue-item{border-radius:var(--radius-sm);background:linear-gradient(145deg,#f8fafc 0%,#f1f5f9 100%);border:1px solid #e5e7eb99;padding:16px;box-shadow:0 2px 6px #00000008}.queue-item-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.queue-item-no{background:linear-gradient(135deg, var(--accent) 0%, #ff7b2e 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.1rem;font-weight:700}.queue-item-status{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 18%, white) 0%, color-mix(in srgb, var(--accent) 12%, white) 100%);color:var(--accent);border-radius:6px;padding:5px 10px;font-size:.75rem;font-weight:600}.queue-item-info{color:var(--muted);flex-direction:column;gap:4px;margin-bottom:12px;font-size:.85rem;font-weight:500;display:flex}.cancel-btn{border:1px solid var(--danger);border-radius:var(--radius-xs);width:100%;color:var(--danger);cursor:pointer;background:linear-gradient(135deg,#ef44440d 0%,#ef444405 100%);padding:12px;font-family:inherit;font-size:.85rem;font-weight:600;transition:all .2s}.cancel-btn:active{background:linear-gradient(135deg,#ef44441f 0%,#ef444414 100%);transform:scale(.98)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (width>=640px){.content{max-width:520px;margin:0 auto}.business-grid{grid-template-columns:repeat(4,1fr)}.business-card{padding:26px 20px}.company-grid{grid-template-columns:repeat(3,1fr)}}.loading-state,.error-state,.empty-state{text-align:center;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;padding:50px 24px;display:flex}.loading-state span{color:var(--muted);font-size:1rem;font-weight:500}.loading-state:before{content:"";border:3px solid #e2e8f0;border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;margin-bottom:16px;animation:.8s linear infinite spin}.error-state p,.empty-state p{margin-bottom:18px;font-size:.95rem;font-weight:500}.empty-state .empty-icon{opacity:.6;margin-bottom:12px;font-size:3rem}.retry-btn{border:1px solid var(--accent);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 8%, white) 0%, color-mix(in srgb, var(--accent) 4%, white) 100%);border-radius:var(--radius-sm);color:var(--accent);cursor:pointer;padding:12px 24px;font-family:inherit;font-size:.9rem;font-weight:600;transition:all .2s}.retry-btn:active{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 15%, white) 0%, color-mix(in srgb, var(--accent) 10%, white) 100%);transform:scale(.98)}.home-content{padding:14px 16px}.home-banner{cursor:pointer;-webkit-tap-highlight-color:transparent;margin-bottom:22px}.banner-slide{border-radius:var(--radius);color:#fff;padding:26px 22px;position:relative;overflow:hidden;box-shadow:0 8px 25px #00000026}.banner-slide:before{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff26 0%,#0000 50%);position:absolute;inset:0}.banner-content{z-index:1;position:relative}.banner-tag{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);letter-spacing:.3px;background:#ffffff40;border-radius:20px;margin-bottom:10px;padding:5px 12px;font-size:.75rem;font-weight:600;display:inline-block}.banner-slide h3{text-shadow:0 2px 4px #00000026;margin-bottom:6px;font-size:1.2rem;font-weight:700}.banner-slide p{opacity:.95;text-shadow:0 1px 2px #0000001a;font-size:.85rem}.banner-dots{justify-content:center;gap:8px;margin-top:18px;display:flex}.banner-dots .dot{background:#fff6;border-radius:50%;width:8px;height:8px;transition:all .3s}.banner-dots .dot.active{background:#fff;border-radius:4px;width:22px;box-shadow:0 2px 6px #0003}.home-menu{flex-direction:column;gap:14px;margin-bottom:26px;display:flex}.menu-card{border-radius:var(--radius);cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;background:#fff;border:1px solid #f1f5f9;align-items:center;gap:16px;padding:20px;transition:box-shadow .25s,transform .25s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000000a}.menu-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000012}.menu-card:active{background:#f8fafc;transform:scale(.98);box-shadow:0 2px 6px #0000000f}.menu-card.featured{background:#eff6ff;border:1px solid #dbeafe;box-shadow:0 4px 15px #2563eb14}.menu-card.featured:before{display:none}.menu-icon{background:#eff6ff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.5rem;transition:transform .25s;display:flex}.menu-card:hover .menu-icon{transform:scale(1.06)}.menu-info{flex-direction:column;flex:1;gap:4px;display:flex}.menu-info strong{color:var(--navy,#0b1a33);font-size:.95rem;font-weight:600}.menu-info span{color:var(--muted);font-size:.825rem;font-weight:500}.home-stats{border-radius:var(--radius);background:linear-gradient(145deg,#fff 0%,#f8fafc 100%);border:1px solid #e5e7ebb3;padding:18px;box-shadow:0 2px 8px #0000000a}.home-stats h3{color:var(--muted);margin-bottom:14px;font-size:.9rem;font-weight:600}.stats-list{flex-wrap:wrap;gap:12px;display:flex}.stat-item{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 10%, white) 0%, color-mix(in srgb, var(--accent) 6%, white) 100%);border-radius:var(--radius-sm);border:1px solid color-mix(in srgb, var(--accent) 12%, transparent);flex:1;justify-content:space-between;align-items:center;gap:10px;min-width:145px;padding:10px 12px 10px 16px;display:flex}.stat-info{align-items:center;gap:10px;display:flex}.stat-no{background:linear-gradient(135deg, var(--accent) 0%, #ff7b2e 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1rem;font-weight:700}.stat-label{color:var(--muted);font-size:.825rem;font-weight:500}.stat-qr-btn{border-radius:var(--radius-xs);width:32px;height:32px;color:var(--accent);cursor:pointer;-webkit-tap-highlight-color:transparent;background:linear-gradient(145deg,#fff 0%,#f8fafc 100%);border:none;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex;box-shadow:0 2px 6px #0000000f}.stat-qr-btn:active{background:linear-gradient(145deg,#f1f5f9 0%,#e2e8f0 100%);transform:scale(.92)}.see-all-btn{border-radius:var(--radius-sm);color:var(--accent);cursor:pointer;background:linear-gradient(145deg,#fff 0%,#f8fafc 100%);border:1px solid #e5e7ebcc;padding:10px 16px;font-family:inherit;font-size:.85rem;font-weight:600;transition:all .2s}.see-all-btn:active{background:linear-gradient(145deg,#f8fafc 0%,#f1f5f9 100%);transform:scale(.98)}.ads-content{padding:0}.carousel{border-radius:0 0 var(--radius) var(--radius);position:relative;overflow:hidden;box-shadow:0 4px 20px #0000001a}.carousel-track{transition:transform .5s cubic-bezier(.4,0,.2,1);display:flex}.carousel-slide{flex:0 0 100%;position:relative}.slide-image{background-position:50%;background-size:cover;width:100%;height:220px;transition:transform .4s}.carousel-slide:active .slide-image{transform:scale(1.02)}.slide-overlay{color:#fff;background:linear-gradient(#0000 0%,#0006 40%,#000000d9 100%);padding:24px 22px;position:absolute;bottom:0;left:0;right:0}.slide-type{text-transform:uppercase;letter-spacing:.5px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff3;border-radius:12px;margin-bottom:6px;padding:3px 10px;font-size:.7rem;font-weight:700;display:inline-block}.slide-overlay h2{text-shadow:0 2px 4px #0000004d;margin-bottom:5px;font-size:1.2rem;font-weight:700}.slide-overlay p{opacity:.95;text-shadow:0 1px 2px #0003;font-size:.85rem}.carousel-nav{background:linear-gradient(#fff 0%,#f8fafc 100%);justify-content:center;gap:10px;padding:18px;display:flex}.nav-dot{cursor:pointer;-webkit-tap-highlight-color:transparent;background:#e2e8f0;border:none;border-radius:50%;width:10px;height:10px;transition:all .3s}.nav-dot.active{background:var(--gradient-orange);border-radius:5px;width:28px;box-shadow:0 2px 6px #e85d044d}.guide-section{background:linear-gradient(#fff 0%,#f8fafc 100%);border-top:1px solid #e5e7eb80;padding:26px 18px}.guide-section h3:before{content:"📋";font-size:1.1rem}.guide-step{border-radius:var(--radius-sm);background:linear-gradient(145deg,#fff 0%,#fafbfc 100%);border:1px solid #e5e7eb99;align-items:flex-start;gap:16px;padding:16px;transition:all .25s;display:flex;box-shadow:0 2px 6px #00000008}.guide-step:active{transform:scale(.99);box-shadow:0 4px 12px #00000014}.step-number{background:var(--gradient-orange);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.95rem;font-weight:700;display:flex;box-shadow:0 4px 12px #e85d044d}.step-content{flex:1;padding-top:4px}.step-content strong{color:var(--ink);margin-bottom:4px;font-size:.95rem;font-weight:700;display:block}.step-content p{color:var(--muted);font-size:.85rem;font-weight:500;line-height:1.5}.ads-cta{padding:22px 18px;padding-bottom:calc(22px + var(--safe-bottom));background:linear-gradient(#f8fafc 0%,#f1f5f9 100%);border-top:1px solid #e5e7eb80}.cta-btn{border-radius:var(--radius);background:var(--gradient-orange);color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;text-shadow:0 1px 2px #00000026;border:none;width:100%;padding:18px 28px;font-family:inherit;font-size:1.05rem;font-weight:700;transition:all .25s;position:relative;overflow:hidden;box-shadow:0 6px 20px #e85d0459,0 3px 6px #e85d0433}.cta-btn:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.cta-btn:active{transform:translateY(2px);box-shadow:0 3px 10px #e85d044d}.cta-btn:active:before{left:100%}.status-content{padding:18px}.status-modes{flex-direction:column;gap:14px;display:flex}.mode-card{border-radius:var(--radius);cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;background:linear-gradient(145deg,#fff 0%,#fafbfc 100%);border:1px solid #e5e7ebb3;align-items:center;gap:16px;padding:20px 18px;transition:all .25s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000000a}.mode-card:before{content:"";background:0 0;width:4px;transition:background .3s;position:absolute;top:0;bottom:0;left:0}.mode-card:active{border-color:var(--accent);background:linear-gradient(145deg,#f8fafc 0%,#f1f5f9 100%);transform:scale(.98);box-shadow:0 4px 12px #00000014}.mode-card:active:before{background:var(--gradient-orange)}.mode-icon{border-radius:var(--radius-sm);background:linear-gradient(145deg,#f1f5f9 0%,#e2e8f0 100%);justify-content:center;align-items:center;width:54px;height:54px;font-size:1.6rem;transition:transform .3s;display:flex;box-shadow:0 3px 10px #00000014}.mode-card:active .mode-icon{transform:scale(1.08)}.mode-info{flex-direction:column;flex:1;gap:4px;display:flex}.mode-info strong{color:var(--ink);font-size:.98rem;font-weight:700}.mode-info span{color:var(--muted);font-size:.85rem;font-weight:500}.my-queues-section h3{color:var(--muted);align-items:center;gap:8px;margin-bottom:14px;font-size:.9rem;font-weight:600;display:flex}.my-queues-section h3:before{content:"";background:var(--gradient-orange);border-radius:2px;width:4px;height:16px}.my-queue-item{border-radius:var(--radius-sm);cursor:pointer;background:linear-gradient(145deg,#fff 0%,#fafbfc 100%);border:1px solid #e5e7ebb3;justify-content:space-between;align-items:center;padding:16px 18px;transition:all .25s;display:flex;box-shadow:0 2px 6px #00000008}.my-queue-item:active{background:linear-gradient(145deg,#f8fafc 0%,#f1f5f9 100%);transform:scale(.99)}.queue-item-left{flex-direction:column;gap:4px;display:flex}.queue-no{background:linear-gradient(135deg, var(--accent) 0%, #ff7b2e 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.05rem;font-weight:700}.queue-business{color:var(--muted);font-size:.85rem;font-weight:500}.queue-time{color:var(--muted);font-size:.85rem;font-weight:500}.queue-status{letter-spacing:.2px;border-radius:6px;padding:4px 10px;font-size:.72rem;font-weight:700}.status-waiting{color:#b45309;background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);box-shadow:0 2px 6px #f59e0b33}.status-called{color:#1d4ed8;background:linear-gradient(135deg,#dbeafe 0%,#93c5fd 100%);box-shadow:0 2px 6px #3b82f633}.status-serving{color:#047857;background:linear-gradient(135deg,#d1fae5 0%,#6ee7b7 100%);box-shadow:0 2px 6px #10b98133}.status-completed{color:#4b5563;background:linear-gradient(135deg,#f1f5f9 0%,#e2e8f0 100%)}.status-cancelled{color:#dc2626;background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);box-shadow:0 2px 6px #ef444426}.status-skipped{color:#6d28d9;background:linear-gradient(135deg,#ede9fe 0%,#c4b5fd 100%);box-shadow:0 2px 6px #8b5cf633}.search-form{flex-direction:column;gap:18px;display:flex}.form-divider{align-items:center;gap:14px;margin:6px 0;display:flex}.form-divider:before,.form-divider:after{content:"";background:linear-gradient(90deg,#0000,#e2e8f0,#0000);flex:1;height:1px}.form-divider span{color:var(--muted);font-size:.825rem;font-weight:500}.search-btn{border-radius:var(--radius);background:var(--gradient-orange);color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;text-shadow:0 1px 2px #00000026;border:none;width:100%;padding:16px 28px;font-family:inherit;font-size:1rem;font-weight:700;transition:all .25s;box-shadow:0 6px 20px #e85d0459,0 3px 6px #e85d0433}.search-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.search-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 3px 10px #e85d044d}.search-error{color:var(--danger);text-align:center;border-radius:var(--radius-sm);background:linear-gradient(135deg,#ef444414 0%,#ef44440a 100%);padding:10px;font-size:.85rem;font-weight:500}.status-result{margin-top:24px}.result-found,.result-not-found{border-radius:var(--radius);text-align:center;background:linear-gradient(145deg,#fff 0%,#fafbfc 100%);border:1px solid #e5e7ebb3;padding:24px;box-shadow:0 4px 15px #0000000f}.result-header{flex-direction:column;align-items:center;gap:10px;margin-bottom:18px;display:flex}.result-icon{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.6rem;display:flex;box-shadow:0 6px 18px #00000026}.result-found .result-icon{background:var(--gradient-green)}.result-not-found .result-icon{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%)}.result-not-found p{color:var(--muted);font-size:.9rem;font-weight:500}.result-ticket{border-radius:var(--radius-sm);text-align:center;background:linear-gradient(145deg,#f8fafc 0%,#f1f5f9 100%);overflow:hidden;box-shadow:inset 0 1px 3px #0000000a}.ticket-top{background:linear-gradient(145deg,#fff 0%,#fafbfc 100%);border-bottom:1px dashed #cbd5e1cc;padding:14px;font-size:.9rem;font-weight:600}.ticket-meta{color:var(--muted);justify-content:center;gap:18px;padding:14px;font-size:.85rem;font-weight:500;display:flex}.ticket-status{padding:12px 18px;font-size:.9rem;font-weight:700}.qr-scanner-section{flex-direction:column;gap:22px;display:flex}.qr-scanner-area{border-radius:var(--radius);background:linear-gradient(145deg,#f8fafc 0%,#f1f5f9 100%);border:2px dashed #cbd5e1cc;overflow:hidden;box-shadow:0 2px 8px #0000000a}.scanner-view{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);justify-content:center;align-items:center;height:280px;display:flex;position:relative}.scanner-frame{width:210px;height:210px;position:relative}.scanner-frame .corner{border:4px solid var(--accent);width:28px;height:28px;transition:border-color .3s;position:absolute}.corner.tl{border-bottom:none;border-right:none;border-radius:4px 0 0;top:0;left:0}.corner.tr{border-bottom:none;border-left:none;border-radius:0 4px 0 0;top:0;right:0}.corner.bl{border-top:none;border-right:none;border-radius:0 0 0 4px;bottom:0;left:0}.corner.br{border-top:none;border-left:none;border-radius:0 0 4px;bottom:0;right:0}.scan-line{background:var(--gradient-orange);height:3px;animation:2s ease-in-out infinite scanAnim;position:absolute;top:0;left:0;right:0;box-shadow:0 0 15px #e85d0499,0 0 30px #e85d044d}@keyframes scanAnim{0%,to{opacity:1;top:0}50%{opacity:.8;top:calc(100% - 3px)}}.scanner-hint{text-align:center;color:#fff;opacity:.85;text-shadow:0 1px 3px #0000004d;font-size:.85rem;font-weight:500;position:absolute;bottom:24px;left:0;right:0}.scanner-placeholder{text-align:center;padding:70px 24px}.placeholder-icon{opacity:.5;margin-bottom:16px;font-size:3.5rem}.scanner-placeholder p{color:var(--muted);font-size:.9rem;font-weight:500}.scanner-actions{justify-content:center;display:flex}.scan-btn{border-radius:var(--radius);background:var(--gradient-orange);color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;text-shadow:0 1px 2px #00000026;border:none;align-items:center;gap:10px;padding:16px 36px;font-family:inherit;font-size:1rem;font-weight:700;transition:all .25s;display:flex;box-shadow:0 6px 20px #e85d0459,0 3px 6px #e85d0433}.scan-btn.stop{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);box-shadow:0 6px 20px #ef444459,0 3px 6px #ef444433}.scan-btn:active{transform:translateY(2px);box-shadow:0 3px 10px #e85d044d}.manual-input{border-radius:var(--radius);text-align:center;background:linear-gradient(145deg,#fff 0%,#fafbfc 100%);border:1px solid #e5e7ebb3;padding:18px;box-shadow:0 2px 8px #0000000a}.manual-input p{color:var(--muted);margin-bottom:14px;font-size:.85rem;font-weight:500}.input-row{gap:12px;display:flex}.input-row input{border-radius:var(--radius-sm);background:linear-gradient(145deg,#fff 0%,#fafbfc 100%);border:1px solid #e5e7ebcc;flex:1;padding:14px 16px;font-family:inherit;font-size:16px;transition:all .2s;box-shadow:inset 0 1px 3px #0000000a}.input-row input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 4px #e85d041a,inset 0 1px 3px #0000000a}.input-row button{background:var(--gradient-orange);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;padding:14px 22px;font-family:inherit;font-size:.9rem;font-weight:700;transition:all .2s;box-shadow:0 4px 12px #e85d0440}.input-row button:active:not(:disabled){transform:translateY(1px);box-shadow:0 2px 6px #e85d0433}.input-row button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.action-btn.home{color:var(--muted);background:linear-gradient(145deg,#f8fafc 0%,#f1f5f9 100%);border:1px solid #e5e7ebcc;box-shadow:0 2px 8px #0000000a}.action-btn.home:active{background:linear-gradient(145deg,#f1f5f9 0%,#e2e8f0 100%);transform:translateY(1px)}.qr-preview-btn{border-radius:var(--radius-xs);width:36px;height:36px;color:var(--accent);cursor:pointer;-webkit-tap-highlight-color:transparent;background:linear-gradient(145deg,#f1f5f9 0%,#e2e8f0 100%);border:none;justify-content:center;align-items:center;transition:all .2s;display:flex;box-shadow:0 2px 6px #0000000f}.qr-preview-btn:active{background:linear-gradient(145deg,#e2e8f0 0%,#cbd5e1 100%);transform:scale(.95)}.queue-item-actions{gap:10px;margin-top:12px;display:flex}.qr-btn{border:1px solid var(--accent);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 8%, white) 0%, color-mix(in srgb, var(--accent) 4%, white) 100%);border-radius:var(--radius-xs);color:var(--accent);cursor:pointer;-webkit-tap-highlight-color:transparent;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px;font-family:inherit;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.qr-btn:active{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 15%, white) 0%, color-mix(in srgb, var(--accent) 10%, white) 100%);transform:scale(.98)}.queue-item-actions .cancel-btn{flex:1}.qr-modal-backdrop{-webkit-backdrop-filter:blur(6px);z-index:300;background:#0009;animation:.25s fadeIn;position:fixed;inset:0}.qr-modal{z-index:301;border-radius:var(--radius);background:linear-gradient(#fff 0%,#f8fafc 100%);width:calc(100% - 40px);max-width:360px;animation:.3s cubic-bezier(.4,0,.2,1) zoomIn;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 20px 60px #00000040,0 8px 25px #00000026}@keyframes zoomIn{0%{opacity:0;transform:translate(-50%,-50%)scale(.85)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.qr-modal-header{background:#fffffff2;border-bottom:1px solid #e5e7ebb3;justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.qr-modal-header h3{color:var(--ink);font-size:1.05rem;font-weight:700}.qr-modal-content{text-align:center;padding:28px 24px}.qr-code-display{border-radius:var(--radius-sm);background:linear-gradient(145deg,#fff 0%,#f8fafc 100%);margin-bottom:22px;padding:20px;display:inline-block;box-shadow:0 2px 8px #0000000a}.qr-code-image{border-radius:var(--radius);background:linear-gradient(145deg,#fff 0%,#fafbfc 100%);border:2px solid #e5e7ebb3;width:200px;height:200px;margin:0 auto 18px;padding:14px;box-shadow:0 4px 15px #0000000f}.qr-placeholder{width:100%;height:100%;color:var(--muted);justify-content:center;align-items:center;font-size:1.2rem;font-weight:600;display:flex}.qr-queue-number{background:linear-gradient(135deg, var(--accent) 0%, #ff7b2e 100%);-webkit-text-fill-color:transparent;letter-spacing:.06em;-webkit-background-clip:text;background-clip:text;font-size:1.6rem;font-weight:800}.qr-details{border-radius:var(--radius-sm);background:linear-gradient(145deg,#f8fafc 0%,#f1f5f9 100%);border:1px solid #e5e7eb80;flex-direction:column;gap:10px;margin-bottom:18px;padding:18px;display:flex}.qr-detail-row{align-items:center;gap:12px;font-size:.9rem;display:flex}.qr-detail-icon{border-radius:var(--radius-xs);background:linear-gradient(145deg,#fff 0%,#f8fafc 100%);justify-content:center;align-items:center;width:28px;height:28px;font-size:1.1rem;display:flex;box-shadow:0 2px 4px #0000000a}.qr-detail-text{color:var(--ink);font-weight:500}.qr-hint{color:var(--muted);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 8%, white) 0%, color-mix(in srgb, var(--accent) 4%, white) 100%);border-radius:var(--radius-xs);border:1px solid color-mix(in srgb, var(--accent) 10%, transparent);padding:10px;font-size:.8rem;font-weight:500}.queue-item-right{flex-direction:column;align-items:flex-end;gap:6px;display:flex}@media (width>=380px){.home-stats .stats-list{flex-wrap:nowrap}.stat-item{min-width:auto}}@media (width>=480px){.success-card{max-width:400px}.queue-ticket{max-width:400px;margin:0 auto}.action-btn{max-width:400px;margin-left:auto;margin-right:auto}}.hero-section{background:linear-gradient(165deg,#0b1a33 0%,#132744 55%,#183558 100%);border-radius:0 0 28px 28px;margin:-18px -16px 20px;padding:36px 20px 0;position:relative;overflow:hidden}.hero-bg-pattern{background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px),radial-gradient(circle at 80% 20%,#3b82f61f 0%,#0000 45%);background-size:48px 48px,48px 48px,100% 100%;position:absolute;inset:0}@keyframes heroPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.02)}}.hero-content{z-index:1;text-align:center;color:#fff;padding-bottom:28px;position:relative}.hero-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#93c5fd;letter-spacing:.04em;background:#3b82f62e;border-radius:20px;align-items:center;gap:8px;margin-bottom:16px;padding:5px 14px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-icon{font-size:1rem}.hero-title{letter-spacing:-.01em;margin-bottom:12px;font-size:1.75rem;font-weight:800;line-height:1.3}.hero-title .highlight{background:linear-gradient(135deg,#93c5fd 0%,#60a5fa 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-subtitle{opacity:.68;margin-bottom:24px;font-size:.88rem;line-height:1.75}.hero-cta{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:10px;align-items:center;gap:10px;padding:13px 28px;font-family:inherit;font-size:.9rem;font-weight:600;transition:all .25s;display:inline-flex;box-shadow:0 4px 14px #2563eb66}.hero-cta:active{transform:translateY(1px);box-shadow:0 2px 8px #2563eb59}.cta-icon{font-size:1.2rem}.cta-arrow{transition:transform .3s}.hero-cta:active .cta-arrow{transform:translate(4px)}.quick-stats{margin-bottom:24px}.stats-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.stats-header h3{color:var(--ink);align-items:center;gap:8px;font-size:1rem;font-weight:700;display:flex}.stats-icon{font-size:1.1rem}.see-all-link{border:1px solid var(--border);color:var(--accent);cursor:pointer;background:0 0;border-radius:20px;align-items:center;gap:4px;padding:6px 12px;font-family:inherit;font-size:.8rem;font-weight:600;transition:all .2s;display:flex}.see-all-link:active{background:color-mix(in srgb, var(--accent) 8%, white)}.stats-cards{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:12px;padding-bottom:8px;display:flex;overflow-x:auto}.stats-cards::-webkit-scrollbar{display:none}.stat-card{border-radius:var(--radius);cursor:pointer;scroll-snap-align:start;min-width:160px;box-shadow:var(--shadow-sm);background:linear-gradient(145deg,#fff 0%,#f8fafc 100%);border:1px solid #e5e7ebb3;flex:0 0 calc(50% - 6px);padding:14px;transition:all .25s}.stat-card:active{border-color:var(--accent);transform:scale(.97)}.stat-card-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.stat-queue-no{color:var(--accent);font-size:1.25rem;font-weight:800}.stat-status{border-radius:10px;align-items:center;gap:5px;padding:3px 8px;font-size:.7rem;font-weight:600;display:flex}.stat-status .status-dot{border-radius:50%;width:6px;height:6px;animation:2s infinite statusPulse}@keyframes statusPulse{0%,to{opacity:1}50%{opacity:.5}}.stat-status.status-waiting{background:color-mix(in srgb, var(--warning) 15%, white);color:var(--warning)}.stat-status.status-waiting .status-dot{background:var(--warning)}.stat-status.status-called{background:color-mix(in srgb, var(--success) 15%, white);color:var(--success)}.stat-status.status-called .status-dot{background:var(--success)}.stat-card-body{flex-direction:column;gap:4px;margin-bottom:8px;display:flex}.stat-service{color:var(--ink);font-size:.85rem;font-weight:600}.stat-time{color:var(--muted);font-size:.8rem}.stat-card-footer{border-top:1px solid var(--border);padding-top:8px}.stat-business{color:var(--muted);font-size:.75rem}.features-section{margin-bottom:28px}.features-title{letter-spacing:.06em;text-transform:uppercase;color:#2563eb;background:#eff6ff;border-radius:16px;margin-bottom:14px;padding:4px 14px;font-size:.7rem;font-weight:600;display:inline-block}.features-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.feature-card{border-radius:var(--radius-sm);background:#fff;border:1px solid #f1f5f9;align-items:center;gap:12px;padding:16px;transition:box-shadow .25s,transform .25s;display:flex;box-shadow:0 2px 8px #0000000a}.feature-card:hover{transform:translateY(-1px);box-shadow:0 6px 20px #00000012}.feature-icon{background:#eff6ff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.feature-icon span{filter:none;font-size:1.3rem}.feature-text{flex-direction:column;gap:2px;display:flex}.feature-text strong{color:var(--ink);font-size:.85rem;font-weight:700}.feature-text span{color:var(--muted);font-size:.7rem}.promo-preview{cursor:pointer;margin-bottom:24px}.promo-slide{border-radius:var(--radius);color:#fff;box-shadow:var(--shadow);align-items:center;gap:16px;padding:20px;display:flex;position:relative;overflow:hidden}.promo-icon{flex-shrink:0;font-size:2.5rem}.promo-content{flex:1;min-width:0}.promo-badge{background:#ffffff40;border-radius:10px;margin-bottom:6px;padding:3px 8px;font-size:.65rem;font-weight:700;display:inline-block}.promo-content h4{margin-bottom:4px;font-size:1rem;font-weight:700;line-height:1.3}.promo-content p{opacity:.9;font-size:.8rem;line-height:1.4}.promo-dots{gap:6px;display:flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.promo-dot{background:#fff6;border-radius:50%;width:6px;height:6px;transition:all .3s}.promo-dot.active{background:#fff;border-radius:3px;width:18px}.promo-arrow{background:#fff3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.menu-badge{border-radius:10px;padding:3px 10px;font-size:.65rem;font-weight:700;animation:2s infinite badgeBounce;position:absolute;top:20px;right:40px}.menu-badge.new{color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px #ef444466}@keyframes badgeBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.menu-card{position:relative}.hero-stats-bar{z-index:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0f;border-top:1px solid #ffffff14;justify-content:center;align-items:center;gap:0;padding:16px 20px;display:flex;position:relative}.hero-stat{flex-direction:column;flex:1;align-items:center;display:flex}.hero-stat strong{color:#93c5fd;font-size:1.1rem;font-weight:700;line-height:1.2}.hero-stat span{text-transform:uppercase;letter-spacing:.04em;color:#ffffff73;margin-top:2px;font-size:.68rem}.hero-stat-divider{background:#ffffff1f;width:1px;height:32px}.menu-card-primary{background:#eff6ff;border-color:#dbeafe}.menu-card-primary:hover{background:#dbeafe;box-shadow:0 8px 24px #2563eb1f}.menu-icon-blue{background:#eff6ff!important}.menu-icon-green{background:#ecfdf5!important}.menu-icon-purple{background:#f5f3ff!important}.menu-tag{color:#fff;background:#2563eb;border-radius:10px;flex-shrink:0;padding:3px 9px;font-size:.65rem;font-weight:700}.hiw-section{margin-bottom:28px}.section-badge-label{letter-spacing:.06em;text-transform:uppercase;color:#2563eb;background:#eff6ff;border-radius:16px;margin-bottom:10px;padding:4px 14px;font-size:.7rem;font-weight:600;display:inline-block}.hiw-title{color:var(--navy,#0b1a33);letter-spacing:-.01em;margin-bottom:18px;font-size:1rem;font-weight:700}.hiw-steps{align-items:flex-start;gap:0;display:flex}.hiw-step{text-align:center;flex-direction:column;flex:1;align-items:center;gap:6px;display:flex}.hiw-step-num{color:#fff;background:#2563eb;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.8rem;font-weight:700;display:flex;box-shadow:0 4px 10px #2563eb4d}.hiw-step-icon{margin-top:4px;font-size:1.6rem}.hiw-step strong{color:var(--navy,#0f172a);font-size:.82rem;font-weight:600}.hiw-step span{color:var(--muted);font-size:.7rem;line-height:1.4}.hiw-connector{background:linear-gradient(90deg,#2563eb 0%,#93c5fd 100%);border-radius:2px;flex-shrink:0;width:28px;height:2px;margin-top:13px}.industries-section{margin-bottom:28px}.industries-grid{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.industry-pill{color:var(--navy,#0f172a);background:#fff;border:1px solid #e2e8f0;border-radius:20px;align-items:center;gap:5px;padding:6px 14px;font-size:.8rem;font-weight:500;transition:all .2s;display:inline-flex}.industry-pill:last-child{color:#2563eb;background:#eff6ff;border-color:#bfdbfe;font-weight:600}.app-info{border-top:1px solid var(--border);opacity:.65;justify-content:center;align-items:center;gap:12px;margin-top:24px;padding:20px;display:flex}.app-logo{font-size:1.5rem}.app-text{flex-direction:column;align-items:flex-start;display:flex}.app-text strong{color:var(--ink);font-size:.9rem;font-weight:700}.app-text span{color:var(--muted);font-size:.75rem}.guide-section h3{color:var(--ink);align-items:center;gap:10px;margin-bottom:18px;font-size:1.1rem;font-weight:700;display:flex}.guide-icon{font-size:1.3rem}.guide-steps{flex-direction:column;gap:0;display:flex}.guide-step{gap:12px;display:flex}.step-number{flex-direction:column;flex-shrink:0;align-items:center;display:flex}.step-badge{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.9rem;font-weight:700;display:flex;box-shadow:0 4px 12px #2563eb4d}.step-line{background:linear-gradient(180deg, var(--accent) 0%, var(--border) 100%);flex:1;width:2px;min-height:20px;margin:8px 0}.step-card{border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);background:linear-gradient(145deg,#fff 0%,#f8fafc 100%);border:1px solid #e5e7ebb3;flex:1;gap:14px;margin-bottom:12px;padding:16px;display:flex}.step-card .step-icon{flex-shrink:0;font-size:1.8rem}.step-card .step-content strong{color:var(--ink);margin-bottom:4px;font-size:.95rem;display:block}.step-card .step-content p{color:var(--muted);font-size:.8rem;line-height:1.4}.benefits-section{margin-top:24px;margin-bottom:24px}.benefits-section h3{color:var(--ink);align-items:center;gap:10px;margin-bottom:16px;font-size:1.1rem;font-weight:700;display:flex}.benefits-icon{font-size:1.3rem}.benefits-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.benefit-card{border-radius:var(--radius-sm);text-align:center;box-shadow:var(--shadow-sm);background:linear-gradient(145deg,#fff 0%,#f8fafc 100%);border:1px solid #e5e7ebb3;padding:18px}.benefit-card .benefit-icon{margin-bottom:10px;font-size:2rem}.benefit-card strong{color:var(--ink);margin-bottom:6px;font-size:.9rem;display:block}.benefit-card p{color:var(--muted);font-size:.75rem;line-height:1.4}.services-preview{margin-bottom:24px}.services-preview h3{color:var(--ink);align-items:center;gap:10px;margin-bottom:14px;font-size:1.1rem;font-weight:700;display:flex}.services-icon{font-size:1.3rem}.services-badges{flex-wrap:wrap;gap:10px;display:flex}.service-badge{color:var(--ink);box-shadow:var(--shadow-sm);background:linear-gradient(145deg,#fff 0%,#f8fafc 100%);border:1px solid #e5e7ebb3;border-radius:25px;align-items:center;gap:6px;padding:10px 16px;font-size:.85rem;font-weight:600;display:inline-flex}.service-badge.more{background:var(--gradient-orange);color:#fff;border:none}.ads-cta{border-radius:var(--radius);text-align:center;box-shadow:var(--shadow-lg);background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);margin-top:10px;padding:24px}.cta-content{margin-bottom:18px}.cta-content .cta-icon{margin-bottom:10px;font-size:2.5rem}.cta-content h4{color:#fff;margin-bottom:6px;font-size:1.1rem;font-weight:700}.cta-content p{color:#ffffffd9;font-size:.85rem}.cta-btn{color:#764ba2;cursor:pointer;background:#fff;border:none;border-radius:50px;justify-content:center;align-items:center;gap:10px;width:100%;max-width:280px;padding:16px 32px;font-family:inherit;font-size:1.05rem;font-weight:700;transition:all .3s;display:inline-flex;box-shadow:0 8px 25px #0003}.cta-btn:active{transform:scale(.97)}.slide-overlay .slide-icon{filter:drop-shadow(0 4px 8px #0003);margin-bottom:12px;font-size:3rem}.status-hero{text-align:center;color:#fff;background:linear-gradient(135deg,#4ecdc4 0%,#2ecc71 100%);border-radius:0 0 28px 28px;margin:-18px -16px 24px;padding:24px 20px}.status-hero-icon{filter:drop-shadow(0 4px 8px #0003);margin-bottom:12px;font-size:3rem}.status-hero h2{margin-bottom:6px;font-size:1.4rem;font-weight:700}.status-hero p{opacity:.9;font-size:.9rem}.mode-cards{flex-direction:column;gap:12px;margin-bottom:24px;display:flex}.mode-card{border-radius:var(--radius);cursor:pointer;box-shadow:var(--shadow-sm);background:linear-gradient(145deg,#fff 0%,#f8fafc 100%);border:1px solid #e5e7ebb3;align-items:center;gap:14px;padding:18px;transition:all .25s;display:flex}.mode-card:active{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 12%, transparent);transform:scale(.98)}.mode-icon-wrapper{background:linear-gradient(135deg,#4ecdc4 0%,#2ecc71 100%);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;display:flex;box-shadow:0 4px 12px #2ecc7140}.mode-icon-wrapper .mode-icon{filter:brightness(0)invert();font-size:1.5rem}.my-queues-section{margin-top:20px}.my-queues-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.my-queues-header h3{color:var(--ink);align-items:center;gap:8px;font-size:1rem;font-weight:700;display:flex}.queues-icon{font-size:1.1rem}.queue-count-badge{background:var(--gradient-orange);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:.8rem;font-weight:700;display:flex;box-shadow:0 4px 10px #e85d044d}.my-queue-list{flex-direction:column;gap:12px;display:flex}.my-queue-item{border-radius:var(--radius);cursor:pointer;box-shadow:var(--shadow-sm);background:linear-gradient(145deg,#fff 0%,#f8fafc 100%);border:1px solid #e5e7ebb3;justify-content:space-between;align-items:center;padding:16px;transition:all .25s;display:flex}.my-queue-item:active{border-color:var(--success);transform:scale(.98)}.queue-item-main{flex-direction:column;gap:8px;display:flex}.queue-item-number{align-items:center;gap:10px;display:flex}.queue-item-number .queue-no{color:var(--accent);font-size:1.3rem;font-weight:800}.queue-status-badge{border-radius:12px;align-items:center;gap:5px;padding:4px 10px;font-size:.7rem;font-weight:600;display:flex}.queue-status-badge .status-indicator{border-radius:50%;width:6px;height:6px;animation:2s infinite statusPulse}.queue-status-badge.status-waiting{background:color-mix(in srgb, var(--warning) 15%, white);color:#b45309}.queue-status-badge.status-waiting .status-indicator{background:var(--warning)}.queue-status-badge.status-called{background:color-mix(in srgb, var(--success) 15%, white);color:#047857}.queue-status-badge.status-called .status-indicator{background:var(--success)}.queue-item-details{flex-direction:column;gap:3px;display:flex}.queue-service{color:var(--ink);font-size:.9rem;font-weight:600}.queue-business{color:var(--muted);font-size:.8rem}.queue-item-actions{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.queue-time{color:var(--muted);font-size:.8rem}.qr-preview-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4ecdc4 0%,#2ecc71 100%);border:none;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex;box-shadow:0 4px 12px #2ecc7140}.qr-preview-btn:active{transform:scale(.95)}.empty-queues{text-align:center;border-radius:var(--radius);background:linear-gradient(145deg,#f8fafc 0%,#f1f5f9 100%);margin-top:20px;padding:40px 20px}.empty-icon{opacity:.8;margin-bottom:14px;font-size:3rem}.empty-queues h4{color:var(--ink);margin-bottom:6px;font-size:1.05rem;font-weight:700}.empty-queues p{color:var(--muted);margin-bottom:18px;font-size:.9rem}.empty-cta{background:var(--gradient-orange);color:#fff;cursor:pointer;box-shadow:var(--shadow-accent);border:none;border-radius:25px;align-items:center;gap:8px;padding:12px 24px;font-family:inherit;font-size:.95rem;font-weight:600;transition:all .3s;display:inline-flex}.empty-cta:active{transform:scale(.97)}.search-header{align-items:center;gap:12px;margin-bottom:20px;display:flex}.search-header .search-icon{font-size:2rem}.search-header h2{color:var(--ink);font-size:1.3rem;font-weight:700}.search-card{border-radius:var(--radius);box-shadow:var(--shadow);background:linear-gradient(145deg,#fff 0%,#f8fafc 100%);border:1px solid #e5e7ebb3;padding:20px}.search-card .form-group label{color:var(--ink);align-items:center;gap:6px;margin-bottom:10px;font-size:.9rem;font-weight:600;display:flex}.label-icon{font-size:1rem}.form-divider{color:var(--muted);align-items:center;gap:12px;margin:20px 0;font-size:.85rem;font-weight:500;display:flex}.divider-line{background:var(--border);flex:1;height:1px}.search-btn{background:var(--gradient-green);color:#fff;border-radius:var(--radius-sm);cursor:pointer;width:100%;box-shadow:var(--shadow-success);border:none;justify-content:center;align-items:center;gap:10px;margin-top:20px;padding:16px 24px;font-family:inherit;font-size:1rem;font-weight:700;transition:all .3s;display:flex}.search-btn:active{transform:scale(.98)}.search-btn:disabled{opacity:.7;cursor:not-allowed}.loading-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}.search-error{background:color-mix(in srgb, var(--danger) 10%, white);border:1px solid color-mix(in srgb, var(--danger) 20%, transparent);border-radius:var(--radius-xs);color:var(--danger);align-items:center;gap:8px;margin-top:16px;padding:14px;font-size:.9rem;font-weight:500;display:flex}.error-icon{font-size:1.1rem}.result-header{align-items:center;gap:12px;margin-bottom:18px;display:flex}.result-header .result-icon{border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.2rem;font-weight:700;display:flex}.result-header .result-icon.success{background:var(--gradient-green);color:#fff;box-shadow:0 4px 12px #10b9814d}.result-header h3{color:var(--ink);font-size:1.1rem;font-weight:700}.rating-modal{z-index:1100;max-height:90vh;animation:.3s slideUp;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.rating-modal-content{background:var(--white);border-radius:var(--radius) var(--radius) 0 0;padding:24px 20px calc(24px + var(--safe-bottom));position:relative}.rating-modal .close-btn{background:var(--surface);width:32px;height:32px;color:var(--muted);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;display:flex;position:absolute;top:12px;right:16px}.rating-header{text-align:center;margin-bottom:20px}.rating-header .rating-icon{margin-bottom:8px;font-size:2.5rem}.rating-header h3{color:var(--ink);margin-bottom:4px;font-size:1.2rem;font-weight:700}.rating-header .rating-subtitle{color:var(--muted);font-size:.9rem}.rating-header .rating-service{color:var(--accent);margin-top:2px;font-size:.85rem;font-weight:500}.rating-topics-section{margin-bottom:16px}.rating-topic-row{background:var(--surface);border-radius:var(--radius-xs);margin-bottom:10px;padding:12px 14px}.topic-title{color:var(--ink);margin-bottom:8px;font-size:.85rem;font-weight:600}.topic-buttons{flex-wrap:wrap;gap:6px;display:flex}.topic-score-btn{background:var(--white);border:2px solid var(--border);border-radius:var(--radius-xs);cursor:pointer;flex-direction:column;flex:1;align-items:center;gap:2px;min-width:54px;padding:8px 4px;transition:all .2s;display:flex}.topic-score-btn.active{background:#fff8e1;border-color:#f59e0b;transform:scale(1.05)}.score-emoji{font-size:1.4rem}.score-label{color:var(--muted);white-space:nowrap;font-size:.6rem;font-weight:500}.topic-score-btn.active .score-label{color:#d97706;font-weight:600}.rating-comment{margin-bottom:16px}.rating-comment label{color:var(--ink);margin-bottom:6px;font-size:.85rem;font-weight:600;display:block}.rating-comment textarea{border:2px solid var(--border);border-radius:var(--radius-xs);resize:vertical;background:var(--surface);width:100%;padding:12px;font-family:inherit;font-size:.9rem;transition:border-color .2s}.rating-comment textarea:focus{border-color:var(--accent);background:var(--white);outline:none}.rating-actions{flex-direction:column;gap:8px;display:flex}.rating-submit-btn{border-radius:var(--radius-sm);background:var(--gradient-orange);color:#fff;cursor:pointer;width:100%;box-shadow:var(--shadow-accent);border:none;padding:14px;font-family:inherit;font-size:1rem;font-weight:700;transition:opacity .2s}.rating-submit-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.rating-skip-btn{border-radius:var(--radius-sm);width:100%;color:var(--muted);cursor:pointer;background:0 0;border:none;padding:12px;font-family:inherit;font-size:.9rem;font-weight:500}.rating-success{text-align:center;padding:30px 0}.rating-success-icon{margin-bottom:12px;font-size:3rem}.rating-success h3{color:var(--ink);margin-bottom:6px;font-size:1.2rem;font-weight:700}.rating-success p{color:var(--muted);font-size:.85rem}
