.spacer { flex: 1; }
.drop { margin-bottom: 14px; }
#m-list li { cursor: grab; }
#m-list li.dragging { opacity: .4; }
#m-list .grip { color: var(--faint); cursor: grab; }
#m-list .nm { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pages { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 14px; margin-top: 14px; }
.pg { position: relative; background: var(--surface-2); border: 2px solid var(--border); border-radius: 8px; padding: 8px; text-align: center; cursor: pointer; user-select: none; }
.pg.sel { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 8%, var(--surface)); }
.pg.dragging { opacity: .35; }
.pg.over { outline: 2px dashed var(--accent); }
.pg canvas { max-width: 100%; height: auto; box-shadow: 0 1px 3px rgba(0,0,0,.2); background: #fff; transition: transform .2s; }
.pg .no { font-size: 12px; color: var(--subtle); margin-top: 6px; }
.pg .tools { position: absolute; top: 4px; right: 4px; display: flex; gap: 2px; }
.pg .tools button { border: 0; background: var(--surface); border-radius: 4px; width: 26px; height: 26px; cursor: pointer; box-shadow: var(--shadow); color: var(--text); }
.sign-layout { display: grid; grid-template-columns: 360px 1fr; gap: 14px; align-items: start; }
@media (max-width: 900px) { .sign-layout { grid-template-columns: 1fr; } }
.pad { width: 100%; height: auto; border: 1px dashed var(--input-border); border-radius: 6px; background: #fff; touch-action: none; cursor: crosshair; }
.g-stage { position: relative; margin-top: 10px; display: flex; justify-content: center; background: var(--surface-2); border-radius: 6px; padding: 10px; }
#g-page { max-width: 100%; height: auto; box-shadow: 0 1px 4px rgba(0,0,0,.25); background: #fff; cursor: copy; }
.f-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 4px 16px; }
