*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #1a1a2e;--bg-card: #16213e;--bg-card-alt: #0f3460;--accent: #e94560;--accent-hover: #ff6b81;--green: #2ecc71;--green-dim: #27ae60;--yellow: #f1c40f;--text: #eee;--text-dim: #aab;--text-dark: #1a1a2e;--radius: 12px;--radius-sm: 8px;--shadow: 0 4px 24px rgba(0, 0, 0, .35);--font: "Segoe UI", system-ui, -apple-system, sans-serif}html{font-size:16px}body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100dvh;-webkit-font-smoothing:antialiased}.password-gate{display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:1rem}.password-card{background:var(--bg-card);border-radius:var(--radius);padding:2.5rem 2rem;box-shadow:var(--shadow);text-align:center;max-width:380px;width:100%;display:flex;flex-direction:column;gap:1rem}.password-icon{font-size:2.5rem}.password-card h1{font-size:1.5rem}.password-card p{color:var(--text-dim);font-size:.95rem}.header{background:linear-gradient(135deg,var(--accent) 0%,#c0392b 100%);padding:1rem 1.5rem;box-shadow:var(--shadow)}.header-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:.75rem}.logo{font-size:2rem}.header h1{font-size:1.5rem;font-weight:700;color:#fff}.tagline{font-size:.85rem;color:#ffffffbf;margin-left:auto;text-transform:uppercase;letter-spacing:.08em}.main-layout{max-width:1200px;margin:1.5rem auto;padding:0 1rem;display:grid;grid-template-columns:260px 1fr 300px;gap:1.25rem;align-items:start}@media(max-width:900px){.main-layout{grid-template-columns:1fr}}.panel{background:var(--bg-card);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow)}.panel h2{font-size:1rem;font-weight:600;margin-bottom:1rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em}.call-controls{display:flex;flex-direction:column;gap:1rem;align-items:center;text-align:center}.status-badge{display:flex;align-items:center;gap:.5rem;font-size:.85rem;padding:.4rem .9rem;border-radius:999px;background:#ffffff0f}.status-dot{width:10px;height:10px;border-radius:50%;background:var(--text-dim)}.status-connected .status-dot{background:var(--green);box-shadow:0 0 8px var(--green)}.status-connecting .status-dot{background:var(--yellow);animation:pulse-dot 1s infinite}.status-error .status-dot{background:var(--accent)}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;border-radius:var(--radius-sm);padding:.75rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s,transform .1s;width:100%}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-icon{font-size:1.2rem}.btn-start{background:var(--green);color:#fff}.btn-start:hover:not(:disabled){background:var(--green-dim)}.btn-end{background:var(--accent);color:#fff}.btn-end:hover{background:var(--accent-hover)}.btn-ptt{background:var(--bg-card-alt);color:var(--text);border:2px solid transparent;padding:1.25rem;font-size:1.1rem;border-radius:50%;width:140px;height:140px;flex-direction:column;user-select:none;-webkit-user-select:none;touch-action:none}.btn-ptt:hover{border-color:var(--accent)}.btn-ptt-active{background:var(--accent);color:#fff;border-color:var(--accent-hover);animation:pulse-ring 1.2s ease-in-out infinite}@keyframes pulse-ring{0%{box-shadow:0 0 #e9456080}70%{box-shadow:0 0 0 16px #e9456000}to{box-shadow:0 0 #e9456000}}.btn-secondary{background:#ffffff14;color:var(--text)}.btn-secondary:hover{background:#ffffff24}.btn-sm{padding:.4rem .8rem;font-size:.85rem;width:auto}.btn-connecting{background:var(--bg-card-alt);color:var(--text)}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.model-speaking{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--green)}.pulse{width:10px;height:10px;border-radius:50%;background:var(--green);animation:pulse-dot .8s infinite}.hint{font-size:.82rem;color:var(--text-dim);line-height:1.45}.error-text{color:var(--accent);font-size:.85rem}.success-text{color:var(--green);font-size:.85rem}.transcript-panel{min-height:400px;max-height:70vh;display:flex;flex-direction:column}.transcript{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;padding-right:.25rem}.transcript-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-dim);font-size:.9rem}.transcript-bubble{max-width:85%;padding:.65rem 1rem;border-radius:var(--radius);line-height:1.45;font-size:.92rem}.transcript-user{align-self:flex-end;background:var(--bg-card-alt)}.transcript-assistant{align-self:flex-start;background:#e9456026}.transcript-role{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-bottom:.2rem}.cart-empty{text-align:center;color:var(--text-dim);padding:2rem 0}.cart-empty-icon{font-size:2.5rem;margin-bottom:.5rem}.cart-hint{font-size:.82rem;margin-top:.5rem}.cart-items{list-style:none}.cart-item{padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.07)}.cart-item:last-child{border-bottom:none}.cart-item-header{display:flex;justify-content:space-between;align-items:baseline}.cart-item-name{font-weight:600;font-size:.95rem}.cart-item-price{font-weight:600;color:var(--green)}.cart-item-details{font-size:.8rem;color:var(--text-dim);margin-top:.25rem}.cart-totals{margin-top:1rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:.35rem}.cart-row{display:flex;justify-content:space-between;font-size:.9rem;color:var(--text-dim)}.cart-total{font-size:1.1rem;font-weight:700;color:var(--text);margin-top:.25rem}.checkout-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:2rem}.checkout-card{text-align:center;background:var(--bg-card);border-radius:var(--radius);padding:2.5rem 2rem;max-width:500px;width:100%;box-shadow:var(--shadow)}.checkout-icon{font-size:3.5rem;margin-bottom:.75rem}.checkout-card h1{font-size:1.75rem;margin-bottom:.5rem}.checkout-thanks{color:var(--text-dim);margin-bottom:.25rem}.checkout-order-id{font-family:monospace;font-size:1.1rem;color:var(--yellow);margin-bottom:1.5rem}.checkout-summary{text-align:left;background:#ffffff0a;border-radius:var(--radius-sm);padding:1rem 1.25rem;margin-bottom:1.5rem}.checkout-summary h3{font-size:.9rem;text-transform:uppercase;color:var(--text-dim);margin-bottom:.75rem}.checkout-summary ul{list-style:disc;padding-left:1.25rem;display:flex;flex-direction:column;gap:.35rem;font-size:.9rem}.checkout-total{margin-top:.75rem;font-size:1rem;text-align:right}.checkout-eta{font-size:.95rem;margin-bottom:1.5rem}.admin-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:2rem}.admin-card{background:var(--bg-card);border-radius:var(--radius);padding:2rem;max-width:420px;width:100%;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:1rem}.admin-card h1{font-size:1.5rem}.admin-card-wide{max-width:700px}.admin-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.admin-header h1{font-size:1.25rem}.admin-header-actions{display:flex;align-items:center;gap:1rem}.toggle-label{font-size:.85rem;display:flex;align-items:center;gap:.4rem;cursor:pointer;color:var(--text-dim)}.admin-form{display:flex;flex-direction:column;gap:1rem}.field-label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--text-dim);font-weight:600}.input{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-sm);padding:.6rem .75rem;color:var(--text);font-size:.95rem;font-family:var(--font);width:100%;transition:border-color .15s}.input:focus{outline:none;border-color:var(--accent)}.textarea-sm{font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.82rem;line-height:1.5;resize:vertical}.textarea-json{font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.82rem;line-height:1.5;resize:vertical;min-height:300px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}a.btn{text-decoration:none}
