:root{--color-primary: #00abc2;--color-primary-dark: #0096aa;--color-primary-tint: #e6f4f7;--color-navy: #002138;--color-bg: #eef2f4;--color-surface: #ffffff;--color-text: #2f3f44;--color-text-muted: #6a7f86;--color-text-label: #8fa3ad;--color-danger: #e84848;--radius-s: 8px;--radius-m: 10px;--radius-l: 16px;--radius-xl: 24px;--font: "IBM Plex Sans", "Helvetica Neue", -apple-system, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;background:var(--color-bg);font-family:var(--font);color:var(--color-text)}#root{height:100%}.app{display:flex;flex-direction:column;height:100dvh;max-width:640px;margin:0 auto;background:var(--color-bg)}.header{background:linear-gradient(180deg,var(--color-navy) 0%,#013152 100%);color:#fff;padding:max(env(safe-area-inset-top),10px) 16px 12px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.header .title{font-size:17px;font-weight:600;letter-spacing:.2px}.header .subtitle{font-size:12px;color:var(--color-primary);margin-top:2px}.buy-button{background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-xl);padding:9px 16px;font-family:var(--font);font-size:14px;font-weight:600;cursor:pointer}.buy-button:active{background:var(--color-primary-dark)}.thread{flex:1;overflow-y:auto;padding:14px 12px 8px;display:flex;flex-direction:column;gap:8px;-webkit-overflow-scrolling:touch}.bubble{max-width:86%;padding:10px 14px;border-radius:var(--radius-l);font-size:15px;line-height:1.45;white-space:pre-wrap;overflow-wrap:break-word}.bubble.user{align-self:flex-end;background:var(--color-primary);color:#fff;border-bottom-right-radius:var(--radius-s)}.bubble.assistant{align-self:flex-start;background:var(--color-surface);color:var(--color-text);border-bottom-left-radius:var(--radius-s);box-shadow:0 1px 2px #00213814}.bubble.info{align-self:center;background:var(--color-primary-tint);color:var(--color-navy);font-size:13px;text-align:center}.bubble .b{font-weight:600}.typing{align-self:flex-start;color:var(--color-text-muted);font-size:13px;padding:4px 14px}.typing:after{content:"…";animation:blink 1.2s infinite}@keyframes blink{50%{opacity:.3}}.composer{display:flex;gap:8px;align-items:flex-end;padding:8px 10px max(env(safe-area-inset-bottom),10px);background:var(--color-surface);border-top:1px solid #e1e6e9;flex-shrink:0}.composer textarea{flex:1;resize:none;border:1px solid #d5dde0;border-radius:var(--radius-l);padding:10px 14px;font-family:var(--font);font-size:15px;line-height:1.4;max-height:110px;background:var(--color-bg);color:var(--color-text);outline:none}.composer textarea:focus{border-color:var(--color-primary)}.icon-button{width:42px;height:42px;border-radius:50%;border:none;flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px}.icon-button.send{background:var(--color-primary);color:#fff}.icon-button.send:disabled{background:#b7cdd3;cursor:default}.icon-button.mic{background:var(--color-bg);color:var(--color-text-label);border:1px solid #d5dde0}.icon-button.mic.active{background:var(--color-danger);color:#fff;border:none;animation:pulse 1.4s infinite}@keyframes pulse{0%,to{box-shadow:0 0 #e8484873}50%{box-shadow:0 0 0 8px #e8484800}}.sheet-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#00213880;z-index:40}.sheet{position:fixed;left:0;right:0;bottom:0;margin:0 auto;max-width:640px;max-height:88dvh;background:var(--color-surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;z-index:50;display:flex;flex-direction:column;animation:slide-up .22s ease-out}@keyframes slide-up{0%{transform:translateY(40%);opacity:.6}}.sheet-header{padding:14px 18px 10px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eef2f4}.sheet-header h3{margin:0;font-size:16px;color:var(--color-navy)}.sheet-close{border:none;background:none;font-size:20px;color:var(--color-text-muted);cursor:pointer;padding:4px}.sheet-body{padding:14px 18px max(env(safe-area-inset-bottom),14px);overflow-y:auto}.steps{display:flex;gap:6px;margin-bottom:14px}.steps .step{flex:1;height:4px;border-radius:2px;background:#e1e6e9}.steps .step.done{background:var(--color-primary)}.package-card{border:1.5px solid #e1e6e9;border-radius:var(--radius-l);padding:14px;margin-bottom:10px;cursor:pointer;background:var(--color-surface)}.package-card.selected{border-color:var(--color-primary);background:var(--color-primary-tint)}.package-card .row{display:flex;justify-content:space-between;align-items:baseline}.package-card .name{font-weight:600;color:var(--color-navy);font-size:15px}.package-card .price{font-weight:700;color:var(--color-primary-dark);font-size:17px}.package-card .specs{color:var(--color-text-muted);font-size:13px;margin-top:5px}.package-card .validity{color:var(--color-text-label);font-size:12px;margin-top:3px}.field{margin-bottom:12px}.field label{display:block;font-size:12px;color:var(--color-text-label);margin-bottom:4px;text-transform:uppercase;letter-spacing:.4px}.field input{width:100%;border:1px solid #d5dde0;border-radius:var(--radius-m);padding:11px 12px;font-family:var(--font);font-size:15px;background:var(--color-surface);color:var(--color-text);outline:none}.field input:focus{border-color:var(--color-primary)}.field-row{display:flex;gap:10px}.field-row .field{flex:1}.primary-button{width:100%;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-l);padding:13px;font-family:var(--font);font-size:15px;font-weight:600;cursor:pointer;margin-top:4px}.primary-button:disabled{background:#b7cdd3;cursor:default}.primary-button:active:not(:disabled){background:var(--color-primary-dark)}.ghost-button{width:100%;background:none;border:none;color:var(--color-text-muted);font-family:var(--font);font-size:14px;padding:10px;cursor:pointer}.hint{font-size:12px;color:var(--color-text-muted);margin:6px 0 10px}.error{font-size:13px;color:var(--color-danger);margin:6px 0}.success{text-align:center;padding:18px 6px 6px}.success .check{width:56px;height:56px;border-radius:50%;background:var(--color-primary-tint);color:var(--color-primary-dark);font-size:28px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}.success h4{margin:0 0 6px;color:var(--color-navy)}.success p{color:var(--color-text-muted);font-size:14px;margin:4px 0}
