.sync-status{padding:8px 24px;background:#edf4f2;color:#28594f;font-size:12px;border-bottom:1px solid #d5e4df;flex-shrink:0}
.save-dot.error{background:#b02727}
.sync-status[data-mode=offline]{background:#fff5e6;color:#865217}
.sync-dialog{width:min(760px,94vw);max-height:88vh;padding:24px;border:1px solid #dde4e0;border-radius:16px;box-shadow:0 20px 80px #102b3440;color:#173830}
.sync-dialog::backdrop{background:#142e3760}
.sync-dialog-head{display:flex;gap:20px;align-items:center;justify-content:space-between}
.sync-dialog h2{margin:0;font-size:22px}.sync-dialog h3{font-size:14px}
.sync-dialog p{line-height:1.6}.sync-dialog label{display:block;margin:16px 0}.sync-dialog input{margin-top:7px;width:100%}
.sync-dialog .toolbar{flex-wrap:wrap}.sync-error{color:#b02727;white-space:pre-wrap;min-height:22px}
.sync-conflict{border-top:1px solid #dde4e0;padding:18px 0;overflow-wrap:anywhere}
.sync-versions{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sync-versions pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow:auto;font:12px/1.5 monospace;background:#f2f5f4;padding:12px}
.mobile-client-card{display:block;width:100%;text-align:left;background:white;color:inherit;border:1px solid #dce6e0;border-radius:14px;padding:17px;margin-bottom:10px;cursor:pointer}
.mobile-client-card strong{font-size:15px;line-height:1.5;display:block;margin-bottom:8px}.mobile-client-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:12px;color:#60766e}
.mobile-client-sales{display:flex;justify-content:space-between;align-items:center;margin:14px 0;font-size:18px}.mobile-client-note{font-size:13px;line-height:1.5;color:#38574b;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:760px){.topbar-actions{flex-wrap:wrap;gap:7px}.topbar-actions .button{flex:1 1 40%;font-size:12px;padding:9px}.sync-status{padding:9px 14px;font-size:11px}.sync-versions{grid-template-columns:1fr}.sync-dialog{padding:16px}.sync-dialog-head{gap:10px}.sync-dialog h2{font-size:18px}.mobile-clients .toolbar{flex-wrap:wrap}.mobile-clients .toolbar>*{flex:1 1 44%}.mobile-clients .search-field{width:100%}.main-area{padding-bottom:12px}}
@media(max-width:760px){#refreshButton{position:fixed;right:14px;bottom:18px;z-index:45;width:auto;background:#216c55;color:white;border-color:#216c55;box-shadow:0 4px 16px #173d3233}.mobile-clients{padding-bottom:40px}}
.voice-input-button{margin-top:7px;gap:7px;min-height:42px;font-size:13px;display:inline-flex;align-items:center}
.voice-mic{width:18px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;vertical-align:middle;flex-shrink:0}
.voice-dialog{box-sizing:border-box;border:1px solid #d8e3e1;border-radius:20px;padding:22px;width:min(620px,calc(100vw - 24px));max-height:calc(100dvh - 28px);overflow:auto;color:#183b3a;background:#fff;box-shadow:0 24px 80px #132e3650}
.voice-dialog::backdrop{background:#132c3b80}.voice-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.voice-heading h2{margin:0;font-size:22px}.voice-heading .icon-button{font-size:30px;flex-shrink:0}
.voice-target{margin:8px 0;font-size:13px;line-height:1.45;color:#53716e}.voice-status{background:#edf7f3;border-radius:10px;padding:12px;line-height:1.5;font-size:14px}.voice-dialog textarea{width:100%;box-sizing:border-box;font-size:16px;min-height:180px;margin-top:7px;line-height:1.5}
.voice-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.voice-actions .button{min-height:44px}.voice-actions [hidden]{display:none}.voice-actions [data-voice=apply]{flex-grow:1}.voice-help{font-size:12px;color:#526d69;line-height:1.55;margin:15px 0}
.voice-footer{display:flex;flex-wrap:wrap;gap:12px}.voice-footer button{border:0;background:none;padding:8px 0;min-height:40px;color:#356e60;text-decoration:underline;font:inherit;font-size:12px}.voice-footer [data-voice=discard]{color:#ad4545;margin-left:auto}.voice-dialog button:disabled{opacity:.55}
@media(max-width:500px){.voice-dialog{padding:16px}.voice-actions .button{flex:1 1 42%;padding:10px}.voice-actions [data-voice=apply]{flex-basis:100%}}
