.square-sync{--sync-border:var(--border);--sync-muted:var(--muted);--sync-warning-bg:#fff5e5;--sync-warning-text:#654216;--sync-warning-border:#986823;--sync-success-bg:#eaf5ed;--sync-success-text:#205239;--sync-success-border:#4e7660;min-width:0;color:var(--foreground)}
.nbi-theme .square-sync{--sync-warning-bg:#33231b;--sync-warning-text:#f2d4ad;--sync-warning-border:#bf975a;--sync-success-bg:#193126;--sync-success-text:#c2e2cf;--sync-success-border:#75b28e}.square-sync .square-sync-heading{display:flex;gap:12px;align-items:baseline;justify-content:space-between;flex-wrap:wrap}.square-sync h4{margin:20px 0 10px}.square-sync-intro{max-width:78ch;line-height:1.55}.square-sync-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0;padding:14px 0;border-block:1px solid var(--sync-border)}.square-sync-summary div{min-width:0}.square-sync-summary dt{font-size:12px;color:var(--sync-muted);margin-bottom:5px}.square-sync-summary dd{margin:0;font-size:14px;overflow-wrap:anywhere}.square-sync-summary small{display:block;color:var(--sync-muted);font-size:12px;margin-top:5px}.square-sync-summary strong{font-weight:600}.square-sync-policy{margin:18px 0}.square-sync-policy fieldset{border:0;padding:0;margin:0;min-width:0}.square-sync-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.square-sync-fields label,.square-sync-review label{display:flex;flex-direction:column;gap:6px;font-size:13px;min-width:0}.square-sync input,.square-sync select,.square-sync textarea{min-height:38px;max-width:100%;box-sizing:border-box}.square-sync-check{display:flex!important;align-items:flex-start;gap:8px!important;flex-direction:row!important;line-height:1.5;margin:12px 0;font-size:13px}.square-sync-check input{min-height:initial;margin-top:3px;flex:0 0 auto}.square-sync-check span{min-width:0}.square-sync .pos-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.square-sync .nbi-button:focus-visible,.square-sync input:focus-visible,.square-sync select:focus-visible,.square-sync textarea:focus-visible,.square-sync summary:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.square-sync .nbi-button:disabled{opacity:.5;cursor:not-allowed}.square-sync .nbi-button:not(:disabled):hover{border-color:var(--muted)}.square-sync-records{width:100%;overflow-x:auto;margin:12px 0}.square-sync-records table{width:100%;border-collapse:collapse;text-align:left;font-size:13px;table-layout:fixed}.square-sync-records th,.square-sync-records td{vertical-align:top;border-bottom:1px solid var(--sync-border);padding:12px 10px;overflow-wrap:anywhere}.square-sync-records thead th{font-size:12px;font-weight:600;color:var(--sync-muted);background:var(--nbi-raised,var(--card))}.square-sync-records tbody tr:hover{background:var(--nbi-raised,var(--card))}.square-sync-records small{display:block;margin-top:5px;color:var(--sync-muted);line-height:1.5}.square-sync-records .is-selected,.square-sync-records .is-selected:hover{background:var(--nbi-accent-soft,var(--soft-green))}.square-sync-records td:last-child{width:24%}.square-sync-empty,.square-sync-recovery,.square-sync-warning{border:1px solid var(--sync-border);padding:12px 14px;margin:12px 0;line-height:1.5}.square-sync-empty strong,.square-sync-recovery strong{display:block}.square-sync-empty p,.square-sync-recovery p{margin:6px 0}.square-sync-recovery,.square-sync-warning{border-left:3px solid var(--sync-warning-border);background:var(--sync-warning-bg);color:var(--sync-warning-text)}.square-sync-recovery small{display:block;overflow-wrap:anywhere;margin:8px 0}.square-sync-notice{background:var(--sync-success-bg);color:var(--sync-success-text);border-left:3px solid var(--sync-success-border);padding:10px 12px;line-height:1.5}.square-sync-review{border-top:1px solid var(--sync-border);padding-top:16px;margin-top:12px}.square-sync-review textarea{resize:vertical;min-height:80px}.square-sync-error{color:var(--danger);font-size:13px}.square-sync details{margin-top:18px}.square-sync summary{cursor:pointer;font-weight:500;line-height:1.6}.square-sync summary:hover{text-decoration:underline}.square-sync-run-state{font-weight:600}.square-sync .nbi-muted{line-height:1.5}.square-sync-queue-link{display:block;width:fit-content;line-height:1.5;margin-top:8px}.square-sync-ref{font-size:12px;color:var(--sync-muted);overflow-wrap:anywhere}
@media(max-width:1024px){.square-sync-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.square-sync-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.square-sync .nbi-button{min-height:38px}}
@media(max-width:640px){.square-sync-summary,.square-sync-fields{grid-template-columns:minmax(0,1fr)}.square-sync-records table,.square-sync-records tbody,.square-sync-records tr,.square-sync-records th,.square-sync-records td{display:block;width:100%;box-sizing:border-box}.square-sync-records thead{display:none}.square-sync-records tr{border:1px solid var(--sync-border);margin-bottom:12px}.square-sync-records th,.square-sync-records td{border-bottom:0;padding:8px 12px}.square-sync-records td:last-child{width:100%}.square-sync-records [data-label]:before{content:attr(data-label);display:block;font-size:11px;font-weight:600;color:var(--sync-muted);margin-bottom:4px}.square-sync-records tr:hover{background:transparent}.square-sync-records .is-selected,.square-sync-records .is-selected:hover{background:var(--nbi-accent-soft,var(--soft-green))}.square-sync .pos-actions>.nbi-button{flex:1 1 auto;min-height:40px}.square-sync-heading .pos-stage{white-space:normal}.square-sync-recovery{padding:12px}.square-sync-policy{margin:14px 0}}

.square-sync-summary .square-sync-runtime-warning{border-left:3px solid var(--sync-warning-border);background:var(--sync-warning-bg);color:var(--sync-warning-text);padding:10px 12px}.square-sync-runtime-warning dt{font-weight:600;color:var(--sync-warning-text)}.square-sync-runtime-warning dd{line-height:1.5}.square-sync time{white-space:normal}

.square-sync-summary .square-sync-runtime-warning dd,.square-sync-summary .square-sync-runtime-warning small,.square-sync-recovery small{color:var(--sync-warning-text)}.square-sync .nbi-muted{color:var(--muted)}.square-sync-empty{background:var(--card);color:var(--foreground)}.square-sync :is(input,select,textarea){color:var(--foreground);background:var(--card);border:1px solid var(--border)}.square-sync input[type=checkbox]{accent-color:var(--primary)}.square-sync-queue-link{color:var(--foreground)}.square-sync-queue-link:hover{color:var(--ring)}
