:root{--bg: var(--tg-theme-bg-color, #17212b);--secondary-bg: var(--tg-theme-secondary-bg-color, #232e3c);--text: var(--tg-theme-text-color, #f5f5f5);--hint: var(--tg-theme-hint-color, #7d8b99);--link: var(--tg-theme-link-color, #6ab3f3);--button: var(--tg-theme-button-color, #5288c1);--button-text: var(--tg-theme-button-text-color, #ffffff);--danger: #e5484d;--success: #30a46c;--warning: #f5a524;--radius: 14px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;overscroll-behavior:none}#root{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.app{display:flex;flex-direction:column;flex:1;padding:12px 14px calc(14px + env(safe-area-inset-bottom));gap:12px;max-width:520px;margin:0 auto;width:100%}.statusbar{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--secondary-bg);border-radius:var(--radius);padding:10px 14px}.status-dot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:7px;flex-shrink:0}.dot-online{background:var(--success)}.dot-busy{background:var(--warning)}.dot-offline{background:var(--hint)}.dot-error{background:var(--danger)}.status-text{font-size:14px}.status-sub{color:var(--hint);font-size:12px}.credits{display:flex;gap:10px;background:var(--secondary-bg);border-radius:var(--radius);padding:10px 14px}.credit{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.credit-label{color:var(--hint);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.credit-value{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}.credits-low{color:var(--warning);box-shadow:inset 0 0 0 1px var(--warning);font-size:14px}.credits-low .credit-label{color:inherit;opacity:.75}.presence{display:flex;gap:6px;background:var(--secondary-bg);border-radius:var(--radius);padding:4px}.presence button{flex:1;border:0;background:transparent;color:var(--hint);padding:9px 6px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.presence button.active{background:var(--button);color:var(--button-text)}.callpanel{background:var(--secondary-bg);border-radius:var(--radius);padding:18px 14px;text-align:center}.callpanel .who{font-size:26px;font-weight:600;letter-spacing:.5px;word-break:break-all}.callpanel .meta{color:var(--hint);font-size:14px;margin-top:4px}.timer{font-variant-numeric:tabular-nums}.display{background:var(--secondary-bg);border-radius:var(--radius);padding:16px 14px;text-align:center;min-height:62px;display:flex;align-items:center;justify-content:center}.display input{width:100%;border:0;background:transparent;color:var(--text);font-size:26px;text-align:center;outline:none;font-variant-numeric:tabular-nums}.display input::placeholder{color:var(--hint)}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.key{aspect-ratio:1.55;border:0;border-radius:var(--radius);background:var(--secondary-bg);color:var(--text);font-size:25px;font-weight:500;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;transition:transform .06s,background .12s}.key:active{transform:scale(.95);background:var(--button)}.key small{font-size:9px;color:var(--hint);letter-spacing:1.4px}.actions{display:flex;gap:10px}.btn{flex:1;border:0;border-radius:var(--radius);padding:15px 10px;font-size:16px;font-weight:600;cursor:pointer;background:var(--button);color:var(--button-text);transition:opacity .15s}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-call{background:var(--success)}.btn-hangup{background:var(--danger)}.btn-ghost{background:var(--secondary-bg);color:var(--text)}.btn-key{flex:0 0 21%;font-size:20px;padding:15px 4px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.controls{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.ctl{border:0;border-radius:12px;background:var(--secondary-bg);color:var(--text);padding:12px 4px;font-size:11px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px}.ctl .ico{font-size:19px}.ctl.on{background:var(--button);color:var(--button-text)}.sheet{background:var(--secondary-bg);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:10px}.sheet h3{margin:0;font-size:15px}.sheet label{font-size:12px;color:var(--hint)}select,textarea,input[type=text],input[type=tel]{width:100%;background:var(--bg);color:var(--text);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:11px;font-size:15px;font-family:inherit;outline:none}textarea{resize:vertical;min-height:80px}.tabs{display:flex;gap:6px}.tabs button{flex:1;border:0;background:var(--secondary-bg);color:var(--hint);padding:10px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer}.tabs button.active{background:var(--button);color:var(--button-text)}.banner{border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.4;white-space:pre-line}.banner-error{background:#e5484d29;color:#ff8b8e}.banner-info{background:#5288c129;color:var(--link)}.banner-warn{background:#f5a52429;color:var(--warning)}.list{display:flex;flex-direction:column;gap:8px}.row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--bg);border-radius:10px;padding:11px 12px;font-size:14px}.row button{border:0;background:var(--button);color:var(--button-text);border-radius:8px;padding:7px 12px;font-size:13px;cursor:pointer}.center{text-align:center}.hint{color:var(--hint);font-size:13px;line-height:1.45}.spacer{flex:1}.callend{position:relative;margin-top:12px;padding:12px 34px 12px 12px;border-radius:var(--radius);background:var(--secondary-bg);border-left:3px solid var(--hint)}.callend-problem{border-left-color:var(--danger)}.callend-plain{border-left-color:var(--hint)}.callend-text{font-size:14px;line-height:1.4}.callend-detail{margin-top:6px;font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--hint);word-break:break-all}.callend-close{position:absolute;top:6px;right:6px;background:none;border:0;color:var(--hint);font-size:15px;line-height:1;padding:6px;cursor:pointer}
