.mobile-sync-banner{margin:8px 24px 0;padding:12px 16px;border:1px solid var(--line,#e5e2ed);border-radius:12px;background:var(--surface,#fff);display:flex;align-items:center;gap:16px;justify-content:space-between;font-size:13px}.mobile-sync-banner[hidden]{display:none}.mobile-sync-banner strong,.mobile-sync-banner small{display:block}.mobile-sync-banner small{color:var(--muted,#7a7489);margin-top:3px;line-height:1.5}.sync-summary{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;margin:18px 0}.sync-summary dt{color:var(--muted,#7a7489)}.sync-summary dd{margin:0;overflow-wrap:anywhere}.sync-conflicts{max-height:35vh;overflow:auto}.sync-conflicts table{min-width:450px}.action-row{display:flex;flex-wrap:wrap;gap:8px}.sync-conflicts td{white-space:normal!important}@media(max-width:600px){.mobile-sync-banner{margin:6px 10px 0;padding:10px 12px}.sync-summary{grid-template-columns:1fr;gap:4px}.sync-summary dd{margin-bottom:10px}}
.phone-sync-busy #content,.phone-sync-busy #first-setup{pointer-events:none;user-select:none}
.standalone-sync-enabled #connection{display:none}
.mobile-sync-indicator{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;max-width:155px;padding:5px 8px;border:1px solid #e7dcc0;border-radius:999px;background:#fff8e8;color:#745719;font:inherit;font-size:11px;line-height:1.2;cursor:pointer;white-space:nowrap}
.mobile-sync-indicator:focus-visible{outline:2px solid var(--app-accent,#7c3aed);outline-offset:2px}
.sync-state-dot{display:inline-block;flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:#bd8a21}
.mobile-sync-indicator[data-state=current]{background:#edf8f0;border-color:#c8e3cf;color:#216239}
.mobile-sync-indicator[data-state=current] .sync-state-dot{background:#2a9b52}
.mobile-sync-indicator[data-state=error]{background:#fff0ee;border-color:#e8c2bd;color:#a0382d}
.mobile-sync-indicator[data-state=error] .sync-state-dot{background:#ca493d}
.mobile-sync-indicator[data-state=busy]{background:#f1ebfc;border-color:#d9ccef;color:#6e3bb4}
.mobile-sync-indicator[data-state=busy] .sync-state-dot{background:#8151c8;animation:sync-indicator-pulse 1s ease-in-out infinite}
.native-sync-indicator #mobile-sync-indicator{display:none}
.mobile-sync-status-dialog{width:min(430px,calc(100vw - 24px));max-width:calc(100vw - 24px);padding:0;overflow:hidden}
.mobile-sync-status-dialog .dialog-body{min-width:0;overflow:auto}
.mobile-sync-status-dialog .sync-status-heading{font-size:16px;font-weight:650;margin-top:0}
.mobile-sync-status-dialog .sync-summary{grid-template-columns:auto minmax(0,1fr);font-size:12px;margin:16px 0;gap:7px 12px}
.mobile-sync-status-dialog .form-footer{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;margin:0;flex:0 0 auto;border-top:1px solid var(--line,#e5e2ed)}
.mobile-sync-status-dialog progress,.mobile-sync-banner progress,#mobile-sync-page-progress{display:block;width:100%;height:8px;margin-top:10px;accent-color:var(--app-accent,#7c3aed)}
.mobile-sync-status-dialog progress[hidden],.mobile-sync-banner progress[hidden],#mobile-sync-page-progress[hidden]{display:none}
.mobile-sync-banner>div{min-width:0;flex:1}
#mobile-sync-banner-bytes:empty,#mobile-sync-page-bytes:empty{display:none}
@keyframes sync-indicator-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.75)}}
@media(prefers-reduced-motion:reduce){.mobile-sync-indicator[data-state=busy] .sync-state-dot{animation:none}.mobile-sync-indicator[data-state=busy] .sync-state-dot:after{content:'';display:block;position:relative;inset:-3px;width:12px;height:12px;border:1px solid currentColor;border-radius:50%}}
@media(max-width:650px){.standalone-sync-enabled .topbar{flex-wrap:wrap}.standalone-sync-enabled .topbar-actions{margin-left:auto;flex-wrap:wrap;gap:6px}.mobile-sync-indicator{max-width:112px;font-size:10px;padding:5px 7px}.mobile-sync-status-dialog .sync-summary{grid-template-columns:1fr;gap:3px}.mobile-sync-status-dialog .sync-summary dd{margin-bottom:9px}}
@media print{#mobile-sync-indicator,#mobile-sync-status-dialog,.mobile-sync-banner{display:none!important}}
