*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #1a1a2e;--bg-secondary: #16213e;--bg-card: #0f3460;--accent: #e94560;--accent-hover: #ff6b81;--text-primary: #ffffff;--text-secondary: #a0a0b0;--text-muted: #6c6c80;--success: #2ecc71;--warning: #f39c12;--danger: #e74c3c;--border: #2a2a4a;--input-bg: #1e1e3a;--button-bg: #e94560;--button-hover: #ff6b81;--dial-button: #2a2a4a;--dial-button-hover: #3a3a5a;--call-green: #2ecc71;--call-red: #e74c3c}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;-webkit-font-smoothing:antialiased}#root{min-height:100vh;display:flex;flex-direction:column}.app{max-width:480px;margin:0 auto;width:100%;min-height:100vh;display:flex;flex-direction:column;position:relative}.header{display:flex;justify-content:space-between;align-items:center;padding:2px 12px;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.header-logo{font-size:20px;font-weight:700;color:var(--accent);letter-spacing:-.5px}.header-balance{display:flex;align-items:center;gap:2px;background:var(--bg-card);padding:6px 14px;border-radius:20px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.header-balance:hover{background:var(--accent)}.header-balance .currency{color:var(--text-secondary);font-weight:400}.nav{display:flex;justify-content:space-around;background:var(--bg-secondary);border-top:1px solid var(--border);padding:8px 0;position:fixed;bottom:0;left:0;right:0;max-width:480px;margin:0 auto;z-index:100}.nav-item{display:flex;flex-direction:column;align-items:center;padding:8px 16px;color:var(--text-muted);text-decoration:none;font-size:11px;transition:color .2s;cursor:pointer;background:none;border:none}.nav-item.active{color:var(--accent)}.nav-item svg{width:24px;height:24px;margin-bottom:4px}.main-content{flex:1;padding-bottom:70px}.dialpad-container{display:flex;flex-direction:column;align-items:center;padding:0 20px;height:calc(100vh - 75px);justify-content:flex-start;gap:2px}.number-display{width:100%;text-align:center;padding:0}.number-input{font-size:min(32px,8vw);font-weight:300;letter-spacing:2px;color:var(--text-primary);background:none;border:none;text-align:center;width:100%;outline:none;caret-color:var(--accent)}.rate-display{font-size:13px;color:var(--text-secondary);margin-top:2px;min-height:20px}.rate-display .destination{color:var(--accent)}.dialpad-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:min(340px,90vw);width:100%}.dial-key{display:flex;flex-direction:column;align-items:center;justify-content:center;width:min(70px,18vw);height:min(70px,18vw);border-radius:50%;background:var(--dial-button);border:none;color:var(--text-primary);cursor:pointer;transition:all .15s;margin:0 auto;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.dial-key:active{background:var(--dial-button-hover);transform:scale(.95)}.dial-key .digit{font-size:min(32px,8vw);font-weight:300;line-height:1}.dial-key .letters{font-size:10px;color:var(--text-muted);letter-spacing:2px;margin-top:4px}.call-actions{margin-top:12px;display:flex;gap:20px;align-items:center;padding:0}.call-button{width:60px;height:60px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.call-button.call{background:var(--call-green)}.call-button.call:hover{background:#27ae60;transform:scale(1.05)}.call-button.call:disabled{background:#555;cursor:not-allowed;transform:none}.call-button.hangup{background:var(--call-red)}.call-button.hangup:hover{background:#c0392b}.call-button svg{width:32px;height:32px;fill:#fff}.backspace-button{width:50px;height:50px;border-radius:50%;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center}.backspace-button:hover{color:var(--text-primary)}.incall-screen{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;height:calc(100vh - 75px);padding:15px 20px;text-align:center}.incall-number{font-size:24px;font-weight:300;letter-spacing:1px;margin-bottom:8px}.incall-destination{color:var(--text-secondary);font-size:14px;margin-bottom:12px}.incall-status{color:var(--accent);font-size:14px;margin-bottom:8px}.incall-timer{font-size:36px;font-weight:200;font-variant-numeric:tabular-nums;margin-bottom:8px}.incall-cost{color:var(--warning);font-size:14px;margin-bottom:15px}.i.call-actions{margin-top:12px;display:flex;gap:30px;align-items:center}.incall-action{display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;background:none;border:none;color:var(--text-secondary);font-size:14px}.incall-action .icon{width:60px;height:60px;border-radius:50%;background:var(--dial-button);display:flex;align-items:center;justify-content:center}.incall-action.active .icon{background:var(--accent)}.history-list{padding:0 16px}.history-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.history-item-left{display:flex;flex-direction:column}.history-number{font-size:16px;font-weight:500}.history-details{display:flex;gap:2px;margin-top:4px;font-size:12px;color:var(--text-secondary)}.history-item-right{text-align:right}.history-cost{font-size:14px;font-weight:600;color:var(--accent)}.history-duration{font-size:12px;color:var(--text-secondary);margin-top:2px}.call-status-icon{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.call-status-icon.completed{background:var(--success)}.call-status-icon.failed{background:var(--danger)}.call-status-icon.no_answer,.call-status-icon.busy{background:var(--warning)}.rates-list{padding:0 16px}.rates-search{width:100%;padding:12px 16px;background:var(--input-bg);border:1px solid var(--border);border-radius:12px;color:var(--text-primary);font-size:15px;outline:none;margin:16px 0}.rates-search:focus{border-color:var(--accent)}.rate-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}.rate-destination{font-size:15px}.rate-prefix{font-size:12px;color:var(--text-muted);margin-top:2px}.rate-price{font-size:16px;font-weight:600;color:var(--success)}.rate-unit{font-size:11px;color:var(--text-secondary)}.topup-container{padding:20px}.topup-amounts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:12px}.topup-amount{padding:20px;background:var(--bg-card);border:2px solid var(--border);border-radius:12px;text-align:center;cursor:pointer;transition:all .2s;color:var(--text-primary)}.topup-amount:hover,.topup-amount.selected{border-color:var(--accent);background:var(--bg-secondary)}.topup-amount .value{font-size:min(32px,8vw);font-weight:700}.topup-amount .minutes{font-size:12px;color:var(--text-secondary);margin-top:4px}.topup-button{width:100%;padding:16px;background:var(--accent);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.topup-button:hover{background:var(--accent-hover)}.topup-button:disabled{background:#555;cursor:not-allowed}.auth-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:20px}.auth-form{width:100%;max-width:360px}.auth-title{font-size:min(32px,8vw);font-weight:700;margin-bottom:8px;text-align:center}.auth-subtitle{color:var(--text-secondary);text-align:center;margin-bottom:32px;font-size:14px}.form-group{margin-bottom:16px}.form-label{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:6px}.form-input{width:100%;padding:12px 16px;background:var(--input-bg);border:1px solid var(--border);border-radius:10px;color:var(--text-primary);font-size:15px;outline:none;transition:border-color .2s}.form-input:focus{border-color:var(--accent)}.form-error{color:var(--danger);font-size:12px;margin-top:4px}.auth-button{width:100%;padding:14px;background:var(--accent);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;margin-top:8px}.auth-button:disabled{background:#555}.auth-link{text-align:center;margin-top:20px;font-size:14px;color:var(--text-secondary)}.auth-link a{color:var(--accent);text-decoration:none}.sip-status{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text-muted)}.sip-status-dot{width:8px;height:8px;border-radius:50%}.sip-status-dot.connected{background:var(--success)}.sip-status-dot.connecting{background:var(--warning);animation:pulse 1.5s infinite}.sip-status-dot.disconnected{background:var(--danger)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.recording-indicator{display:flex;align-items:center;gap:10px;color:var(--danger);font-size:12px;animation:pulse 1.5s infinite}.recording-dot{width:10px;height:10px;border-radius:50%;background:var(--danger)}.toast{position:fixed;top:20px;left:50%;transform:translate(-50%);padding:12px 24px;border-radius:10px;font-size:14px;z-index:1000;animation:slideDown .3s ease;max-width:400px}.toast.success{background:var(--success);color:#fff}.toast.error{background:var(--danger);color:#fff}.toast.warning{background:var(--warning);color:#333}@keyframes slideDown{0%{transform:translate(-50%) translateY(-20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.page-title{font-size:18px;font-weight:700;padding:10px 16px 4px}.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted)}.empty-state svg{width:64px;height:64px;margin-bottom:16px;opacity:.3}.settings-section{padding:8px 16px}.settings-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.settings-label{font-size:15px}.settings-value{color:var(--text-secondary);font-size:14px}.toggle-switch{position:relative;width:48px;height:26px;background:var(--border);border-radius:13px;cursor:pointer;transition:background .2s}.toggle-switch.active{background:var(--accent)}.toggle-switch:after{content:"";position:absolute;width:22px;height:22px;border-radius:50%;background:#fff;top:2px;left:2px;transition:transform .2s}.toggle-switch.active:after{transform:translate(22px)}
