:root{--bg: var(--tg-theme-bg-color, #ffffff);--bg2: var(--tg-theme-secondary-bg-color, #f2f3f5);--text: var(--tg-theme-text-color, #111111);--hint: var(--tg-theme-hint-color, #8a8f98);--link: var(--tg-theme-link-color, #2481cc);--btn: var(--tg-theme-button-color, #2481cc);--btn-text: var(--tg-theme-button-text-color, #ffffff);--danger: var(--tg-theme-destructive-text-color, #e53935);--section: var(--tg-theme-section-bg-color, var(--bg));--border: color-mix(in srgb, var(--hint) 30%, transparent);--ok: #2e7d32;--warn: #b26a00;--radius: 12px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);color-scheme:light dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans Arabic,sans-serif;background:var(--bg2);color:var(--text);font-size:16px;line-height:1.4;-webkit-tap-highlight-color:transparent}a{color:var(--link)}h1{font-size:1.4rem;margin:.5rem 0 1rem}h2{font-size:1.05rem;margin:0 0 .75rem}.app{min-height:100vh;padding-top:var(--safe-top);padding-bottom:calc(64px + var(--safe-bottom))}.container{max-width:560px;margin:0 auto;padding:12px 16px}.card{background:var(--section);border-radius:var(--radius);padding:16px;margin-bottom:14px}.center{display:flex;justify-content:center;padding:24px}.center-text{text-align:center}.muted{color:var(--hint)}.small{font-size:.85rem}.field{display:flex;flex-direction:column;gap:6px;margin:0 0 14px;border:0;padding:0}.field-label{font-size:.85rem;color:var(--hint);font-weight:500}.req{color:var(--danger)}.field input,.field textarea,.field select{font:inherit;color:var(--text);background:var(--bg2);border:1px solid transparent;border-radius:10px;padding:12px;width:100%;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.field input:focus,.field textarea:focus{border-color:var(--btn)}.field.has-error input,.field.has-error textarea{border-color:var(--danger)}.field-error{color:var(--danger);font-size:.82rem}.field-hint{color:var(--hint);font-size:.8rem}.row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.radio-row{display:flex;gap:10px}.radio{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:11px;border-radius:10px;background:var(--bg2);cursor:pointer;border:1px solid transparent}.radio.checked{border-color:var(--btn);color:var(--btn);font-weight:600}.radio input{accent-color:var(--btn)}.btn{font:inherit;border:0;border-radius:10px;padding:12px 16px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px}.btn:disabled{opacity:.6;cursor:default}.btn-primary{background:var(--btn);color:var(--btn-text);font-weight:600}.btn-secondary{background:var(--bg2);color:var(--link)}.btn-danger{background:transparent;color:var(--danger);border:1px solid var(--danger)}.btn-block{width:100%}.btn-sm{min-height:34px;padding:6px 12px;font-size:.85rem}.link-btn{background:none;border:0;color:var(--link);font:inherit;cursor:pointer;padding:4px 0}.location{display:flex;flex-direction:column;gap:8px}.location-info{background:var(--bg2);border-radius:10px;padding:10px 12px}.coords{font-family:ui-monospace,Menlo,monospace;font-size:.9rem}.banner{position:sticky;top:0;z-index:20;padding:10px 16px;font-size:.9rem;display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}.banner-offline{background:#3a3a3a;color:#fff}.banner-offline .dot{width:8px;height:8px;border-radius:50%;background:#ff9800;display:inline-block}.banner-sync{background:var(--btn);color:var(--btn-text);flex-direction:column;align-items:stretch}.banner-pending{background:#fff4e5;color:var(--warn)}.progress{height:4px;background:#ffffff59;border-radius:2px;overflow:hidden}.progress-bar{height:100%;background:currentColor;transition:width .3s}.toast-stack{position:fixed;left:0;right:0;bottom:calc(76px + var(--safe-bottom));display:flex;flex-direction:column;align-items:center;gap:8px;z-index:50;pointer-events:none;padding:0 16px}.toast{pointer-events:auto;max-width:480px;width:100%;padding:12px 14px;border-radius:10px;color:#fff;box-shadow:0 6px 20px #0000002e;animation:pop .2s ease-out}.toast-success{background:var(--ok)}.toast-error{background:var(--danger)}.toast-info{background:#455a64}@keyframes pop{0%{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}.alert{padding:10px 12px;border-radius:10px;margin-bottom:12px;font-size:.9rem}.alert-error{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.spinner{width:18px;height:18px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;animation:spin .7s linear infinite}.spinner.lg{width:32px;height:32px;color:var(--btn)}@keyframes spin{to{transform:rotate(360deg)}}.auth-page{padding-top:12px}.photo-picker{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:14px}.avatar{width:84px;height:84px;border-radius:50%;background:var(--bg2);display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:1.8rem;cursor:pointer;color:var(--hint)}.avatar img{width:100%;height:100%;object-fit:cover}.avatar.lg{width:72px;height:72px;flex-shrink:0;cursor:default}.profile-card{display:flex;gap:14px;align-items:center}.profile-card h2{margin:0 0 4px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.section-head h2{margin:0}.list{list-style:none;margin:0;padding:0}.list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.list li:last-child{border-bottom:0}.list-main{min-width:0;overflow-wrap:anywhere}.badge{font-size:.75rem;padding:3px 8px;border-radius:999px;white-space:nowrap}.badge-synced{background:color-mix(in srgb,var(--ok) 15%,transparent);color:var(--ok)}.badge-pending{background:#fff4e5;color:var(--warn)}.badge-failed{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.pager{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:12px}.tabbar{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--section);border-top:1px solid var(--border);padding-bottom:var(--safe-bottom);z-index:30}.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;padding:8px 0;font-size:1.2rem;color:var(--hint);text-decoration:none}.tabbar a span{font-size:.7rem;margin-top:2px}.tabbar a.active{color:var(--btn)}
